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