Py学习  »  DATABASE

如何使这个mysql查询运行得更快?

ACJ • 4 年前 • 763 次点击  

我在mysql数据库中有以下查询,执行它需要1.9秒,我想让它运行得更快

select 
    1 AS `auto`,
    `stock2`.`PhoneModal_Name` AS `PhoneModal_Name`,
    `stock2`.`Rate` AS `Rate`,
    (sum(`stock2`.`Quantity_take`) - sum(`stock2`.`Quantity_give`)) AS `balance`,
    `stock2`.`Unit_Name` AS `Unit_Name`,
    `stock2`.`STORE_NAME` AS `STORE_NAME`,
    `stock2`.`PhoneModal_No` AS `PhoneModal_No`,
    ((1 / 1) / 2018) AS `orderdate`,
    sum(`stock2`.`Quantity_take`) AS `take`,
    sum(`stock2`.`Quantity_give`) AS `give`
from
    `stock2`
group by `stock2`.`PhoneModal_Name` , `stock2`.`Rate` , `stock2`.`Unit_Name` ,
         `stock2`.`STORE_NAME` , `stock2`.`PhoneModal_No`
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43197
 
763 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Rick James
Reply   •   1 楼
Rick James    5 年前

确保在stock2上为group by中的列创建了一个复合索引

create index  idx1 on stock2 ( PhoneModal_Name,  Rate, Unit_Name,
                               STORE_NAME, PhoneModal_No )