gpt4 book ai didi

MySQL Join 查询非常慢,解释没有帮助

转载 作者:行者123 更新时间:2023-11-29 14:28:41 25 4
gpt4 key购买 nike

查询

explain select item_name, rating
from loyalty_visit_items
join loyalty_visits
on loyalty_visits.id = loyalty_visit_items.loyalty_visit_id
where loyalty_visits.parent_venue_id = 3794

结果

1   SIMPLE  loyalty_visits       ref  PRIMARY,parent_venue_id  parent_venue_id   4  const                      14388    
1 SIMPLE loyalty_visit_items ref loyalty_visit_id loyalty_visit_id 5 loyalty.loyalty_visits.id 12 Using where

索引似乎使用得当,但此查询通常在超时之前不会返回。该数据库中的数据相对于它需要扩展来处理的数据非常少,所以我想知道发生了什么。我只想将其添加到项目中,并显示父访问表中的一列以及每个项目行。有没有更好的方法来完成我完全缺少的连接?

**CREATE SHOW TABLE**
CREATE TABLE `loyalty_visits` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`loyalty_member_id` int(11) DEFAULT NULL,
`venue_id` int(11) DEFAULT NULL,
`parent_venue_id` int(11) NOT NULL DEFAULT '0',
`visit_date` datetime DEFAULT NULL,
`check_number` double(11,0) DEFAULT NULL,
`code` varchar(16) DEFAULT NULL,
`spend` decimal(12,2) DEFAULT NULL,
`discount` decimal(11,0) DEFAULT NULL,
`cover_count` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`sms_from_number` varchar(55) DEFAULT NULL,
`rating` int(2) DEFAULT NULL,
`server_id` int(11) DEFAULT NULL,
`server_name` varchar(255) DEFAULT NULL,
`terminal_id` int(11) DEFAULT NULL,
`initial_text_sent` tinyint(1) DEFAULT NULL,
`error` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `visit_date` (`visit_date`),
KEY `parent_venue_id` (`parent_venue_id`),
KEY `idx2` (`code`) USING HASH,
KEY `venue_id_2` (`venue_id`),
KEY `rating` (`rating`),
KEY `idx3` (`loyalty_member_id`) USING HASH,
KEY `spend` (`spend`),
KEY `id` (`id`,`parent_venue_id`)
) ENGINE=Xeround DEFAULT CHARSET=latin1

最佳答案

我不确定索引的使用是否发挥了最大效果。 ref 的连接类型并不是那么好。 eq_refconst 更好。

您可以在rows列中看到MySQL期望从loyalty_visits读取大量行。但由于它不是通过主键查找行,因此它不能使用聚集索引。这意味着 MySQL 可能必须执行许多磁盘读取,因此索引几乎没有帮助。

如何优化——可以减少需要读取的行数吗?可以使用聚集索引吗?可以使用覆盖索引吗?

关于MySQL Join 查询非常慢,解释没有帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438414/

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