首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:为什么优化表之后复制到tmp表的速度会更快

MySQL:为什么优化表之后复制到tmp表的速度会更快
EN

Stack Overflow用户
提问于 2014-02-26 17:25:50
回答 1查看 517关注 0票数 1

我们有一张有13万张记录的桌子。一个特定的查询(有一些内部连接和联合的4个查询)需要0.13秒。表演没问题。几个小时后,我们看到同一个查询的执行时间为0.4秒至0.5秒。

我们执行一个优化表并查看:相同的查询平均在0.13秒内再次运行。

会不会是多个索引的表失去了通过优化恢复的性能?(更新、删除、插入的时间很长,所以索引在那里不会产生太大的影响)我们在那个表上有相当多的索引,因为我们认为在一个列上用于内部连接的索引是速度所必需的。这样做不对吗?

例如“从A.column =b.id上的A内部联接B中选择*”,我们在A.column上建立索引。

PS:在测试时,我们禁用查询缓存。

编辑:分析信息的细节是不同的,显然在优化表之后,复制到tmp表会更快。

性能不佳:复制到Tmp表244 ms发送数据40 s优化44 s 141 s准备37 s创建Tmp表45 s执行8s复制到Tmp表213,6 ms发送数据44 s优化7s 25 s准备9 s执行6 s

良好性能:复制到Tmp表22,1 ms发送数据39 s优化33 s统计数据10 0s准备33 s创建Tmp表42 s执行11 s复制到Tmp表23 1 ms发送数据60 s优化11 s统计15 s准备执行8s

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-23 16:15:56

我们“解决”了这个问题,强迫记忆中的所有排序等等:

tmpdir = /dev/shm

查询现在总是运行0,1秒。它花了我们一些内存,但我们有足够的钱来换取速度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22048751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档