Maison  >  Article  >  développement back-end  >  mysql如何优化数据量极大的sql语句,并且要查询两张表

mysql如何优化数据量极大的sql语句,并且要查询两张表

WBOY
WBOYoriginal
2016-08-26 10:28:221243parcourir

两张表A有2000条,B有2000万条
select a.xxx,b.xxx,b.xxxx, from A as a left join b as b on a.id = b.bid where a.xx = 0 and a.xxx != 0;

回复内容:

两张表A有2000条,B有2000万条
select a.xxx,b.xxx,b.xxxx, from A as a left join b as b on a.id = b.bid where a.xx = 0 and a.xxx != 0;

  1. 分页查,不要一次取大量数据

  2. 冗余要查的b的两个字段在a表里,就无需join了

  3. 必须要上缓存,不然数据库肯定撑不住

  4. 数据量上了千万就需要考虑水平分割了

首先我不是做后端的,我也只能说说自己知道的一点

不知道工具能不能看到执行计划,如果可以看到执行计划,看看执行过程,哪个过程产生的数据大就看能不能优化

我也就知道加索引应该能够优化一点吧

Déclaration:
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