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

WBOY
Lepaskan: 2016-08-26 10:28:22
asal
1247 orang telah melayarinya

两张表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. 数据量上了千万就需要考虑水平分割了

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

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

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan