gpt4 book ai didi

mysql - 任何加速这个简单的 MySQL 查询的机会?

转载 作者:行者123 更新时间:2023-11-29 00:38:12 25 4
gpt4 key购买 nike

遇到这个查询时,它会搜索一个包含大约 213k 行的重要表。查询的目的是报告一个月的流量数据。该月每一天的流量。以及每一天的十进制值之和。此查询运行频繁,因此我需要尽可能优化它。目前需要平均。 2秒..

SQL fiddle :http://sqlfiddle.com/#!2/171f5/3/0

所有建议将不胜感激!谢谢。

查询:

SELECT `date_day`, COUNT(*) AS num, SUM(decval) AS sum_decval FROM (`tbl_traffic`)
WHERE `uuid` = '1' AND `date_year` = '2012' AND `date_month` = '11'
GROUP BY `date_day`;

解释结果:

id: 1
select_type: SIMPLE
table: adb1_analytics
type: ref
possible_keys: keys1,keys2,keys3
key: keys1
key_len: 7
ref: const,const,const
rows: 106693
Extra: Using where
1 row in set (0.13 sec)

表结构:

CREATE TABLE IF NOT EXISTS `tbl_traffic` (
`id` int(100) unsigned NOT NULL AUTO_INCREMENT,
`uuid` int(100) unsigned NOT NULL,
`country` char(2) CHARACTER SET latin1 DEFAULT NULL,
`browser` varchar(50) CHARACTER SET latin1 DEFAULT NULL,
`platform` varchar(50) CHARACTER SET latin1 DEFAULT NULL,
`referrer` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`decval` decimal(15,5) NOT NULL,
`date_year` smallint(4) unsigned NOT NULL,
`date_month` tinyint(2) unsigned NOT NULL,
`date_day` tinyint(2) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `keys1` (`uuid`,`date_year`,`date_month`,`date_day`),
KEY `keys2` (`date_year`,`date_month`,`referrer`),
KEY `keys3` (`date_year`,`date_month`,`country`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

最佳答案

您在 date_day 没有有效索引。

我建议专门为您正在获取和计算的内容创建一个 key :(date_day, decval)

关于mysql - 任何加速这个简单的 MySQL 查询的机会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388701/

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