Maison > base de données > tutoriel mysql > le corps du texte

数据库应用优化

WBOY
Libérer: 2016-06-07 15:28:48
original
954 Les gens l'ont consulté

基本语句优化10个原则: 原则1:尽量避免在列上进行运算,这样会导致索引失效。 例如: select * from t where year(d) =2011; 优化为: select * from t where d=2011-01-01; 原则2:使用JOIN时,应该用小结果集驱动大结果集。同时把复杂的JOIN查询拆分成多

基本语句优化10个原则:

原则1:尽量避免在列上进行运算,这样会导致索引失效。

例如:

select * from t where year(d) >=2011;

优化为:

select * from t where d>='2011-01-01';

原则2:使用JOIN时,应该用小结果集驱动大结果集。同时把复杂的JOIN查询拆分成多个Query。因为JION多个表时,可能导致更多的锁定和堵塞。

原则3:注意like模糊查询的使用,避免%%。

例如:

select * from t where name like '%de%';

优化为:

select * from t where name>='de' and name

原则4:仅列出需要查询的字段,这对速度不会有明显影响,主要考虑节省内存。

例如:

select * from t;

优化为:

select id,name from t;

原则5:使用批量插入语句节省交互。

优化后: insert into t(id,name) values (1,'a'),(2,'b'),(3,'c');

原则6:LIMIT的技术比较大的时候用between。

例如:

select * from t as t order by id limit 1000000,10;

优化后:

select * from t as t where id between 1000000 and 1000010 order by id;

原则7:不要使用rand函数获取多条随机记录。

例如:

select * from t order by rand() limit 20;

原则8:避免使用NULL。

原则9:不要使用count(id),而是应该 count(*);

原则10:不要做无谓的排序操作,而是近可能在索引中完成排序。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal