gpt4 book ai didi

mysql - 查询性能

转载 作者:行者123 更新时间:2023-11-29 02:27:08 25 4
gpt4 key购买 nike

我有一个从 4 个表中获取值的 sql 查询。在我的查询中需要很多时间。我需要简化查询我需要的是只显示 50 条记录。在我的表中,我有 90,000 条记录。所以我决定应用批处理首先从第一个表中选择 50 条记录,然后检查其他 3 个表。如果 50 满足我会显示,否则我必须继续下一个 50。

但是我没有实现的想法

  select file_name, 
A.id,
A.reference,
user.username,
c.update_date
from A_Table A,
(select reference
from B_Table
where code = 'xxx'
group by reference
having count(*) > 1) B,
C_Table c,
D_Table d
where A.reference = B.reference
and A.id = c.id
and A.code = 'ICG'
and c.updated_by = d.user_id
order by 3
limit 20;

最佳答案

查询看起来不错。

添加一些索引会有很大帮助。

假设 id 列(A_Table.idC_Table.id)已经是 PRIMARY KEY 列,你不需要索引他们。

ALTER TABLE A_Table
ADD INDEX (reference),
ADD INDEX (code);
ALTER TABLE B_Table
ADD INDEX (reference),
ADD INDEX (code, reference);
ALTER TABLE C_Table
ADD INDEX (updated_by);
ALTER TABLE D_Table
ADD INDEX (user_id);

关于mysql - 查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com