MySQL数据库优化、设计与高级应用

时间:2022-02-09 07:10:13

MySQL数据库优化主要涉及两个方面,一方面是对SQL语句优化,另一方面是对数据库服务器和数据库配置的优化。

数据库优化

SQL语句优化

为了更好的看到SQL语句执行效率的差异,建议创建几个结构复杂的数据表,多导入一些数据进行测试,看到的效果比较直观。

  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=b.aid LEFT JOIN e ON e.cid=a.did;

  3. 注意LIKE模糊查询的使用,避免%%。

    优化前SELECT * FROM t WHERE name LIKE ‘