范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

MySQL按月自动创建分区表(千万级大表优化)

  什么是表分区?
  对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成,实现分区的代码实际上是通过对一组底层表的对象封装,但对SQL层来说是一个完全封装底层的黑盒子。
  MySQL实现分区的方式也意味着索引也是按照分区的子表定义,没有全局索引。
  分区的意思是指将同一表中不同行的记录分配到不同的物理文件中,几个分区就有几个.idb文件。MySQL数据库的分区是局部分区索引,一个分区中既存了数据,又放了索引。也就是说,每个区的聚集索引和非聚集索引都放在各自区的(不同的物理文件)。分区表的好处是
  1、可以让单表存储更多的数据。
  2、分区表的数据更容易维护,可以通过删除与那些数据有关的分区,更容易删除数据,也可以增加新的分区来支持新插入的数据。另外,还可以对一个独立分区进行优化、检查、修复等操作。
  3、部分查询能够从查询条件确定只落在少数分区上,查询速度会很快。
  4、通过跨多个磁盘来分散数据查询,来获得更大的查询吞吐量。新建分区表-- 假设有个表叫tmp_logs,设置分区条件为按end_time按月分区 DROP TABLE IF EXISTS `tmp_logs`; CREATE TABLE `tmp_logs` (   `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,   `start_time` datetime NOT NULL,   `end_time` datetime NOT NULL,   `memo` varchar(128) CHARACTER SET utf8mb4 NOT NULL,   PRIMARY KEY (`id`,`end_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PARTITION BY RANGE (TO_DAYS(end_time))(   PARTITION p_202112 VALUES LESS THAN (TO_DAYS("2022-01-01")),   PARTITION p_202201 VALUES LESS THAN (TO_DAYS("2022-02-01")),   PARTITION p_202202 VALUES LESS THAN (TO_DAYS("2022-03-01")),   PARTITION p_202203 VALUES LESS THAN (TO_DAYS("2022-04-01")) );存储过程,每月创建新的分区-- create_table_partition 为创建表分区,调用后为该表创建到下月结束的表分区 DELIMITER $ DROP PROCEDURE IF EXISTS create_table_partition$ CREATE PROCEDURE `create_table_partition`(IN `table_name` varchar(64)) BEGIN	     SET @next_month = CONCAT(date_format(date_add(now(),interval 2 month),"%Y-%m"),"-01");     SET @next_p = CONCAT(date_format(date_add(now(),interval 1 month),"%Y%m") );     SET @SQL = CONCAT( "ALTER TABLE `", table_name, "`", " ADD PARTITION (PARTITION p_", @next_p, " VALUES LESS THAN (TO_DAYS("", @next_month ,"")) );" );     PREPARE STMT FROM @SQL;     EXECUTE STMT;     DEALLOCATE PREPARE STMT; END$ DELIMITER ;存储过程,删除历史分区,空间回收-- delete_table_partition 为删除N月前的表分区,方便历史数据空间回收 DELIMITER $ DROP PROCEDURE IF EXISTS delete_table_partition$ CREATE PROCEDURE `delete_table_partition`(`str_table_name` VARCHAR(64),`int_reserved_month` INT) BEGIN 	DECLARE str_part_name VARCHAR(64); 	DECLARE done INT DEFAULT 0; 	DECLARE cursor1 CURSOR FOR SELECT partition_name from information_schema.partitions where table_schema = "webrtc" 			and table_name=str_table_name and partition_description<=TO_DAYS(CONCAT(date_format(date_sub(now(),interval int_reserved_month month),"%Y-%m"),"-01"));   	DECLARE CONTINUE HANDLER FOR  SQLSTATE "02000" SET done = 1;    	open cursor1;   	read_loop: LOOP     FETCH cursor1 INTO str_part_name ;     IF done=1 THEN       LEAVE read_loop;     END IF; 	SET @SQL = CONCAT( "ALTER TABLE `", str_table_name, "` DROP PARTITION ", str_part_name, ";" );	  	PREPARE STMT FROM @SQL; 	EXECUTE STMT; 	DEALLOCATE PREPARE STMT; 	    END LOOP;    CLOSE cursor1; 	 END$ DELIMITER ;触发器,每月自动新建分区,并删除旧分区-- 创建一个Event,每个月的一号凌晨1点执行存储过程,自动创建创建表分区,同时最多保存6个月的数据 DELIMITER $ CREATE EVENT IF NOT EXISTS `event_records_auto_partition` ON SCHEDULE EVERY 1 MONTH STARTS DATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY), INTERVAL 1 MONTH),INTERVAL 1 HOUR) ON COMPLETION PRESERVE ENABLE DO     BEGIN         call create_table_partition("tmp_logs");         call delete_table_partition("tmp_logs",18);     END$ DELIMITER ;备注,MySQL EVENT 操作事项:
  要使定时事件起作用,MySQL的常量GLOBAL event_scheduler必须为on或者是1。
  1、查看scheduler的当前状态:SHOW VARIABLES LIKE "event_scheduler"; SELECT @@event_scheduler;
  2、修改scheduler状态为打开(0:off , 1:on):SHOW VARIABLES LIKE "event_scheduler"; -- 查看是否开启定时器(OFF:关闭,ON:开启)
  3、临时打开定时器(四种方法):a、SET GLOBAL event_scheduler=ON; b、SET @@global.event_scheduler=ON; c、SET GLOBAL event_scheduler=1; d、SET @@global.event_scheduler=1;
  4、永久生效的方法,修改配置文件my.cnfevent_scheduler = 1 #或者ON
  5、临时开启某个事件ALTER EVENT ent_test ENABLE;
  6、临时关闭某个事件ALTER EVENT ent_test DISABLE;

TMGM赞助2021澳大利亚网球公开赛圆满落幕TMGM与世界大满贯赛事澳大利亚网球公开赛的第一年合作落下圆满帷幕,双方充满信心期待在未来的两届赛事中创造更多精彩瞬间。2021年2月27日,21年澳大利亚网球公开赛(以下简称澳网人脸识别并非无懈可击,三维高精度面具或可破解部分人脸识别技术对于酷炫的前沿应用技术,电影总是技术传播的第一媒体,尤其是科幻或技术题材的影片。在人脸识别技术广泛商用之初,影片中设计了大量的镜头表现人脸识别在智能安防刑事侦察军事打击机器人等应用颠覆课堂?人工智能教育应回归因材施教之理念人工智能技术逐步进入到我们生活的方方面面,有学者称,在未来,人工智能技术将无处不在。近期,人工智能教育被广泛提及,各种所谓的人工智能教育引领教育变革,人工智能颠覆传统课堂教学论等观业界智能机器人主流分类与代表产品一工业机器人指工业自动化中使用的固定式或移动式具有三轴及三轴以上可重复编程多用途的自动控制操作机以及工厂用AGV运输车。1。1人机协作机器人适用于柔性灵活度和精准度要求较高的行业,智能机器人核心关键技术图谱一核心零部件1。1运动控制器运动控制是指在复杂条件下将预定的控制方案规划指令转变成期望的机械运动,实现机械运动精确的位置控制速度控制加速度控制转矩或力的控制。1。2高精度高效率减速剖析旷视IPO看人工智能独角兽如何产业布局近日旷世在港交所递交上市申请,或将成为人工智能第一股。近年来,人工智能正日益成为全球信息领域产业竞争的焦点。人工智能已触发并加速推动新一轮科技革命和产业革命进程。麦肯锡全球研究院认6月热销49765辆,市值吉利长安长城,如今又添新车,2。9s破百随着燃油车向着新能源车的转变,越来越多的新能源车企加入到汽车行业之中,其中比较典型的有蔚来小鹏理想等等汽车品牌,不过相比较这些造车新势力,我们同样不能忽视传统车企在新能源领域的发展日产新车来了,1。5T爆204Ps,轴距2706,看完之后才知是玩火在20万左右这个价格区间的紧凑级SUV中,占据绝对主导地位的车型一般都是以合资品牌为主。像我们所熟悉的本田CRV丰田RAV4等等,当然还有一款车同样是不能忽视,那就是日产的奇骏。日长轴版ampampquot雷凌ampampquot来了,入门就配2。0引擎,轴距2750,媲美凯美瑞现如今我们不难发现,随着国民消费水平的提升,在买车这件事上消费者也越来越追求比较高端一些的车型,举个很简单的例子,曾经在国内街头非常常见的比亚迪F0长安奔奔奇瑞QQ等等车型,如今基三季报总结中高端市场竞争激烈资本撤离茅台镇或与普茅市价下跌互为因果财联社(成都,记者熊嘉楠)讯,在消费升级的趋势下,今年前三季绝大部分白酒企业业绩呈全面上涨的态势,其中二三线酒企涨幅最大。而随着近期国家防止白酒泡沫化的调控手段出台相关资本相继撤离港股异动金融机构恢复对房企融资内房股逆市走高财联社(上海,编辑周新旸)讯,港股内房股板块今日逆势普涨,截至发稿时,佳兆业集团(01638)领涨内房板块,涨幅超13,绿城中国(03900)涨7,融信中国(03301)涨5。37
中国新能源爆发下,有望翻数倍的5大锂电池黑马,建议收藏近段时间,中国新能源汽车行业可谓风生水起。先不说比亚迪第一百万辆新能源车下线以及五菱宏光迷你的疯狂销量对行业的震动,就连中国石化和国家电网也摩拳擦掌,准备进军换电站领域。在这背后,魅族全功能手表发布,价格良心,支持鸿蒙文蜗牛有品刚刚魅族正式发布了旗下首款智能手表,在可穿戴设备流行的当下,魅族并不像友商一样盲目的跟随行业趋势,发布一些本质上是传统设备却披着一层智能外皮的产品来谋取利润,魅族有着自己华为Watch3真机曝光,搭载鸿蒙系统,体验将大升级华为将于6月2日正式召开鸿蒙操作系统及华为全场景新品发布会,从目前官方预热的信息来看,此次发布会除了正式的鸿蒙系统之外,平板电脑手表等新品也将一起亮相,其中就包括华为Watch3。比亚迪和魅族表态华为!鸿蒙星星之火,开启燎原之势?华为鸿蒙即将开启发布会的这几天,作为为万物互联而生的华为鸿蒙,应该说相关行业,颇感兴奋才对?然而,各行各业出奇的沉默,尤其是手机行业,似乎对鸿蒙敬而远之。不过前几天比亚迪突然表态在玩了5年微信!今天才知道,还有这么一个隐藏功能,太实用了!大家好,这里是科技办公室。小编今天在那倒腾微信发现一个了不起的隐藏功能,那么究竟是什么功能,别着急,下面小编就分享给大家。有时候,老板父母朋友会在微信上交代或者拜托我们做一些事情,苹果系统占用内存70GB,怎么办?别担心,解决方案来了手机已经跟我们的生活密不可分了,而手机内存的问题也同样会给我们的生活带来一定的影响,如果内存空间过于少时,手机将出现卡顿运行不流畅等等诸多问题,使得我们在操作体验上感觉非常差。在卡华为Mate305G价格基本确认,麒麟985巴龙5G,网友看看就好华为P30Pro再一次刷新的DxOMark排行榜,112分估计又要霸榜一整年。主摄IMX650是华为与索尼共同研发的成果,华为拥有专属权,索尼不会向其他手机厂家供货,也就是说不管是黑客破解微信数据库获得微信记录和位置最近很多人留言问能不能获取取微信里面的通讯录,聊天记录等等,我们依次尝试的如下几个方案总体来说已经实现1。通过群控,将好友截图发送到服务端(python),利用python的图像识吉利不满宁德时代将倒向日韩国内车企倒戈的日子快来了?长期以来,宁德时代是吉利汽车在全球范围内最主要的动力电池供应商。吉利现有的几款新能源车型帝豪EV帝豪PHEV帝豪GSe,全部都采用了宁德时代的电池。而如今,作为目前国内最大自主品牌这部看似温情的动画片,看的我真后怕!十年前,机器人只能做一些简单的动作。现在,机器人可以演奏音乐,照顾老人,根据编程可以与人交流。科技越来越发达,我们有理由相信在不久的将来,和人类相似的智能机器人会面世。夏娃的时间豆新东方在线上市,俞敏洪打破在线教育亏损魔咒本文首发自寻找中国创客(IDxzzgck)作者唐亚华编辑魏佳几经周折之后,新东方在线终于成为港股市场在线教育第一股。此前在美股上市的尚德51talk英语流利说,以及已经提交招股书但