如何解决获取时间很花时间
我在简单查询下运行,执行时间为 1 秒,但提取时间为 30 秒。它总共包含 100 000 条记录
SELECT id,referrer,timestamp
FROM masterstats_innodb
WHERE video = 1869 AND timestamp between '2011-10-01' and '2021-01-21';
在视频和时间戳列上创建索引,甚至在时间戳表上创建了范围分区。有什么办法可以更快地获取结果吗?
解决方法
请提供SHOW CREATE TABLE
。
计划 A:INDEX(video,timestamp)
B 计划 - 由于“覆盖”而稍微好一点:
INDEX(video,timestamp,referrer,id)
PARTITIONing
不会比索引更有助于查询的性能。
您说“它”包含 10 万行——您指的是表格吗?或者只是返回的行数。如果是'table',那么索引会有所帮助。如果是“结果集”,那么您将受到必须发送这么多行的限制。客户端将如何处理 100K 行?服务器是否可以压缩数据(例如以某种方式对其进行汇总)?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。