当前位置: 首页 > news >正文

厦门网站建设a上海网站建设推荐

厦门网站建设a,上海网站建设推荐,网站设计与网页制作培训,wordpress首页生成html某些行业数据量的增长速度极快#xff0c;随着数据库中数据量的急速膨胀#xff0c;数据库的插入和查询效率越来越低。此时#xff0c;除了程序代码和查询语句外#xff0c;还得在数据库的结构上做点更改#xff1b;在一个主读辅写的数据库中#xff0c;当数据表数据超过…某些行业数据量的增长速度极快随着数据库中数据量的急速膨胀数据库的插入和查询效率越来越低。此时除了程序代码和查询语句外还得在数据库的结构上做点更改在一个主读辅写的数据库中当数据表数据超过1000w行后那查询效率真的很让人抓狂。就算早前建了索引也很难满足用户对于系统查询效率的体验。优化方案是分表或分区。至于分区的原理以及分区和分表的区别搜索一下都介绍的很详细这里就不作冗余介绍。简单来讲分表旨在提高数据库的并发能力分区旨在优化磁盘的IO和数据的读写所以采用什么方案还得根据业务再作斟酌。由于我们的系统对并发要求不高所以便采用了分区。分区是MySQL5.1以后实现的。其中分区类型有RANGE分区、LIST分区、HASH分区、KEY分区。我们这里是使用RANGE分区来讲解。分区需要注意的一点是要么不定义主键要么把分区字段添加到主键中。并且分区字段不能为NULL要不然就难以确定分区范围。所以要设为NOT NULL。首先执行一下show plugins; 查看partition这一栏是否为ACTIVE是则表示数据库支持分区。1、创建一个数据表并分区CREATE TABLE table_name (id INT(11) NOT NULL AUTO_INCREMENT,uid VARCHAR(50) DEFAULT NULL,action VARCHAR(10) DEFAULT NULL, channel VARCHAR(20) DEFAULT NULL,count_left INT(11) DEFAULT NULL,end_time INT(11) DEFAULT 0,PRIMARY KEY (id,end_time),KEY time (end_time)) ENGINEMYISAM DEFAULT CHARSETutf8PARTITION BY RANGE(end_time) (PARTITION p161130 VALUES LESS THAN (1480550399),PARTITION p161231 VALUES LESS THAN (1483228799),PARTITION p170131 VALUES LESS THAN (1485907199),PARTITION p170228 VALUES LESS THAN (1488326399),PARTITION p170331 VALUES LESS THAN (1491004799),PARTITION p170430 VALUES LESS THAN (1493596799),PARTITION p170531 VALUES LESS THAN (1496275199),PARTITION p170631 VALUES LESS THAN (1498867199),PARTITION pnow VALUES LESS THAN MAXVALUE);2、修改一个数据表分区ALTER TABLE table_namePARTITION BY RANGE(end_time) (PARTITION p161130 VALUES LESS THAN (1480550399),PARTITION p161231 VALUES LESS THAN (1483228799),PARTITION p170131 VALUES LESS THAN (1485907199),PARTITION p170228 VALUES LESS THAN (1488326399),PARTITION p170331 VALUES LESS THAN (1491004799),PARTITION p170430 VALUES LESS THAN (1493596799),PARTITION p170531 VALUES LESS THAN (1496275199),PARTITION p170631 VALUES LESS THAN (1498867199),PARTITION pnow VALUES LESS THAN MAXVALUE);说明1、2中使用end_time (时间是以时间戳的形式记录的) 作为分区字段对表进行分区。分区的区分值为分区名中的时间的时间戳形式比如2016/11/30 23:59:59 转为秒数为1480550399。以上的代码中我将数据表分为9个区从16年11月30日到17年06月31日 共8个区加上pnow这个区存放17年6月31日以后的数据如上所示16年11月30日以前的数据将会存放在p161130这个分区中16年12月01日至16年12月31日的数据将会存放在p161231分区中以此类推…分区后可以执行以下语句查看效果(后面也可以用该语句查看每个分区中有多少数据)SELECT PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME table_name;3、删除一个分区执行语句ALTER TABLE table_name DROP PARTITION p_name;注意删除一个分区时该分区内的所有数据也都会被删除如果用这样来删除数据要比用delete from table_name where …要有效得多4、新增一个分区执行语句ALTER TABLE table_name ADD PARTITION (PARTITION p_name VALUES LESS THAN (xxxxxxxxx));注意如果原先最后一个分区是PARTITION pnow VALUES LESS THAN MAXVALUE; 那么应该先删除该分区然后在执行新增分区语句然后再新增回该分区
http://www.zqtcl.cn/news/985205/

相关文章:

  • 程序员做个网站要多少钱呢网站开发设计技术路线
  • 企业网站优化与推广哪个网站seo做的最好
  • 学做网站 软件合肥市建设投资有限公司
  • 网站开发优势用php制作一个个人信息网站
  • wordpress百度推送代码兰州网站关键字优化
  • 有了域名怎么建设网站在线crm免费将夜2
  • 网站建设 技术方案模板长沙手机网站公司
  • 游戏网站建设免费版百度只更新快照不收录网站
  • html小清新类型网站网站建设中应注意哪些问题
  • 网站开发技术和seo的联系精品课程网站建设 公司
  • 大型网站建设一般多少钱wordpress 调用百度前端公众库
  • 个人电脑做网站服务器网站地方网站域名用全拼
  • 我们网站在那里登陆后台系统管理成都app制作开发
  • 可以做问卷调查的网站仙居网站建设
  • 知名网站建设公司电话做一个小程序需要多少钱
  • 外贸找客户有什么网站个人如何做网站
  • 旅游项目网站开发ui界面设计分析
  • 企业建设网站没有服务器代理网页浏览
  • 深圳网站建设新闻网站建设营销的企业
  • 建筑设计网站软件排名工具
  • wordpress theme珠宝最适合seo的网站源码
  • 建设工程规划许可证查询网站畜牧业网站模板
  • 做网站大概要多少钱页面网站缓存如何做
  • 家电网站建设需求分析朔州网络推广
  • 陕西交通建设集团网站体检网络营销中自建网站
  • 做游戏的php网站有哪些微信商城是什么
  • wordpress memcached redux深圳网站优化方法
  • 移动商城 网站建设方法方式韩国导航地图app
  • 企业网站源码是什么瑞安企业做网站
  • 佛山深圳建网站wordpress 段代码