search

Home  >  Q&A  >  body text

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

两张表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;

PHP中文网PHP中文网2813 days ago594

reply all(2)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:08:04

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

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

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

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

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:08:04

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

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

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

    reply
    0
  • Cancelreply