MySql优化方法

  1. 尽量避免在列上进行计算,这样会导致索引失效。
  2. 使用join时,应该用小结果集驱动大结果集。同时把负责的join查询拆分成多个query。应为join多个表时,可能导致更多的锁定和堵塞。
  3. 注意like模糊查询的使用,避免%%。   (%为模糊查询,无限制字符个数,查询太大)
  4. 仅列出需要查询的字段,这对速度不会有明显影响,主要考虑节省内存。
  5. 使用批量插入语句节省交互。(实际工作中估计不会非常多)
  6. limit的基数比较大时使用between,between比limit快,所以海量数据访问时,建议用between或者where替换掉limit。但是between也有缺陷,如果id中间有断行或者中间部分id不读取的情况,总读取量会少于预计数量,在读取比较靠后的数据时,通过desc方式把数据反向查找,以减少对前段数据的扫描,让limit的基数越小越好
  7. 不要使用rand函数获取多条随机记录,可以先使用php生成随机数,把这个字符串传给mysql,mysql里面用in查询
  8. 避免使用NULL
  9. 不要使用count(id),而应该使用count(*)
  10. 不要做无谓的排序操作,而应该尽可能在索引中文成排序
posted @ 2018-06-08 11:03  hcfinal  阅读(117)  评论(0编辑  收藏  举报