gpt4 book ai didi

sql - SQL 中派生表的性能问题

转载 作者:行者123 更新时间:2023-11-29 06:18:53 24 4
gpt4 key购买 nike

我在使用 MySQL 中的派生表时遇到问题。使用派生表本质上会减慢查询的处理速度吗?

这是我尝试运行的查询。它不会执行并且只是超时。

确实成功了。确实,我已将问题隔离到最后一次加入。当我取出最后一个连接时,它工作正常。但是当我将最后一个连接添加回来时,它拒绝执行。

SELECT cr.COMMUNICATIONS_ID AS ANSWER_ID, 
cr.CONSUMER_ID as VIEWER_ID,
cr.ACTION_LOG_ID,
nc.PARENT_COMMUNICATIONS_ID AS QUESTION_ID,
nc.SENDER_CONSUMER_ID AS REPLIER_ID,
ces.EXPERT_SCORE AS REPLIER_EXPERTISE,
cim.CONSUMER_INTEREST_EXPERT_ID AS DOMAIN
FROM (SELECT 234 AS CONSUMER_ID,
ACTION_LOG_ID,
COMMUNICATIONS_ID
FROM consumer_action_log
WHERE COMM_TYPE_ID=4) AS cr
JOIN network_communications AS nc ON
cr.COMMUNICATIONS_ID=nc.COMMUNICATIONS_ID
JOIN communication_interest_mapping AS cim ON
nc.PARENT_COMMUNICATIONS_ID=cim.COMMUNICATION_ID
JOIN consumer_expert_score AS ces ON
nc.SENDER_CONSUMER_ID=ces.CONSUMER_ID
AND cim.CONSUMER_INTEREST_EXPERT_ID=ces.CONSUMER_EXPERT_ID;

最佳答案

希望这有帮助...这是一些 mysql CREATE INDEX 语句。基本上,如果您可以添加索引,请确保有一个索引覆盖连接 2 个或更多表的每个列。

CREATE INDEX idx_nc
ON network_communications(COMMUNICATIONS_ID);

CREATE INDEX idx_cim
ON communication_interest_mapping(COMMUNICATION_ID);

CREATE INDEX idx_ces
ON consumer_expert_score(CONSUMER_ID, CONSUMER_EXPERT_ID);

派生表本身并不坏,但在这种情况下(见下文),您将从consumer_action_log 中提取comm_type_id 为4 的所有记录。似乎没有返回到其他表的连接。这可能是sql永远不会返回的原因。

SELECT cr.COMMUNICATIONS_ID, 
cr.CONSUMER_ID,
cr.ACTION_LOG_ID,
nc.PARENT_COMMUNICATIONS_ID,
nc.SENDER_CONSUMER_ID,
ces.EXPERT_SCORE,
cim.CONSUMER_INTEREST_EXPERT_ID

FROM (SELECT 234 AS CONSUMER_ID,
ACTION_LOG_ID,
COMMUNICATIONS_ID
FROM consumer_action_log
WHERE COMM_TYPE_ID=4) AS cr

JOIN network_communications AS nc ON
cr.COMMUNICATIONS_ID=nc.COMMUNICATIONS_ID

JOIN communication_interest_mapping AS cim ON
nc.PARENT_COMMUNICATIONS_ID=cim.COMMUNICATION_ID

JOIN consumer_expert_score AS ces ON
nc.SENDER_CONSUMER_ID=ces.CONSUMER_ID
AND cim.CONSUMER_INTEREST_EXPERT_ID=ces.CONSUMER_EXPERT_ID;

关于sql - SQL 中派生表的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4807472/

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