前辈们总结的经验,学习、学习。 1.尽量避免在列上进行运算,这样会导致索引失效。 例如:SELECT * FROM t WHERE YEAR(d) >=2011; 优化为:SELECT * FROM t WHERE d >=’2011-01-01’; 2.使用JOIN时,应该用小结果集驱动大结果集。同时把复杂的JOIN查询拆分成多个QUERY。因为JOIN多个 表时,可能导致更多的锁定和堵塞。 SELECT * FROM a JOIN b ON a.id=b.id LEFT JOIN c ON c.time=a.date LEFT JOIN d ON c.pid=d.aid LEFT JOIN e ON e.cid=a.did 3.LIKE模糊查询的使用,避免%% 例如:SELECT * FROM t WHERE name LIKE ‘%de%’; 优化为:SELECT * FROM t WHERE name >=’de’ AND name=t2.id ORDER BY t1.id LIMIT 1; 8.避免使用NULL 9.不要使用count(id),而应该是count(*) 10.不要做无谓的排序,而应尽可能在索引中完成排序。
有关mysql优化的准则
最新推荐文章于 2024-08-26 12:11:39 发布