• 城镇调查失业率:触摸就业市场真实“温度” 2018-08-20
  • 许昌市获批国家居家和社区养老服务改革试点 2018-08-20
  • 我国高端芯片研制已具备基础 2018-08-20
  • 遭爆校长任期炒高房价请假率高 吴茂昆:旧案重提悖离事实 2018-08-19
  • 2018年洗衣机市场健康洗产品已成市场新引擎 2018-08-19
  • 大学毕业生创业“修手机” 两个月进账超30万元 2018-08-19
  • 張近東代表建議,用AI、區塊鏈技術打造數據安全“護城河” 2018-08-18
  • 清明忆先烈 习近平这样传承“红色基因” 2018-08-18
  • 第二届福建省大学生文化创新创意大赛落幕 2018-08-18
  • 乘客突发脑梗 611路司机忙送医一直等到家属到 2018-08-18
  • 中国新一代百亿亿次超级计算机“天河三号”原型机首次亮相[组图] 2018-08-17
  • “动静”结合丨带你感受不一样的实爆训练场 2018-08-17
  • 侠客岛:拿什么拯救你,不学普通话的香港年轻人 2018-08-17
  • 机构改革是一场政治考验 2018-08-17
  • 简讯:韩国前总统朴槿惠一审被判24年有期徒刑 2018-08-16
  • 分享几个提高MYSQL性能的方法

    栏目: 编程语言 发布于: 2014-05-02 12:43:04

    分享几个提高MYSQL性能的方法,不够全面,还望得到大家的补充!错误之处还请拍砖!

    1、分库分表

    很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中,分别从members0到members99,然后根据mid分发记录到这些表中,牛逼的代码大概是这样子:

    <?php 
    for($i=0;$i< 100; $i++ ){ 
    //echo "CREATE TABLE db2.members{$i} LIKE db1.members<br>"; 
    echo "INSERT INTO members{$i} SELECT * FROM members WHERE mid%100={$i}<br>"; 
    } 
    ?> 

    2、不?;薷膍ysql表结构

    同样还是members表,前期设计的表结构不尽合理,随着数据库不断运行,其冗余数据也是增长巨大,同事使用了下面的方法来处理:

    先创建一个临时表:
    /*创建临时表*/
    CREATE TABLE members_tmp LIKE members

    然后修改members_tmp的表结构为新结构,接着使用上面那个for循环来导出数据,因为1000万的数据一次性导出是不对的,mid是主键,一个区间一个区间的导,基本是一次导出5万条吧,这里略去了
    接着重命名将新表替换上去:

    /*这是个颇为经典的语句哈*/
    RENAME TABLE members TO members_bak,members_tmp TO members;

    就是这样,基本可以做到无损失,无需?;卤斫峁?,但实际上RENAME期间表是被锁死的,所以选择在线少的时候操作是一个技巧。经过这个操作,使得原先8G多的表,一下子变成了2G多

    另外还讲到了mysql中float字段类型的时候出现的诡异现象,就是在pma中看到的数字根本不能作为条件来查询.感谢zj同学的新鲜分享。

    您可能感兴趣的文章

    • 页面应该如何加载javascript才能提高网站性能
    • 提高PHP性能的实用方法总结
    • MYSQL性能优化分享(分库分表)
    • 如何提高肠胃的吸收能力,肠胃功能差如何进补
    • PHP检查浏览器参数防止被SQL注入的函数
    • 用PHP函数memory_get_usage获取当前PHP内存消耗量以实现程序的性能优化
    • 提高用户体验必须从分析用户视觉感官上入手
    • MySQL使用limit 1提高查询效率
    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:分享几个提高MYSQL性能的方法
    IT技术书籍推荐:
    算法导论(原书第3版)
    算法导论(原书第3版)
    Thomas H.Cormen (作者), Charles E.Leiserson (作者), Ronald L.Rivest (作者), Clifford Stein (作者), 殷建平 (译者), 徐云 (译者), 王刚 (译者), 等 (译者)
    《算法导论(原书第3版)》内容简介:在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性?!端惴ǖ悸?原书第3版)》将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,《算法导论(原书第3版)》也是一本案头必备的参考书或工程实践手册。