首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从分区表查询比从具有相同表定义的多个表查询更快吗?

从分区表查询比从具有相同表定义的多个表查询更快吗?
EN

Database Administration用户
提问于 2019-02-02 11:02:53
回答 1查看 660关注 0票数 0

我有一个表,它包含大约5000万行,每个分区有500万行进行了分区。我手动将其划分为Table_1、Table_2、Table_3等,没有使用MySql的内置分区特性(使用分区关键字),因为在对表进行分区时我不知道这个特性。

很多时候,我必须检索价值1000万的行,这意味着我必须查询两个分区的数据。

从一个表中检索整个数据(500万行)可能需要2-10秒,这是相当慢的。虽然在最初的查询之后,相同的查询非常快(几百毫秒)。

在我的情况下,使用内置的MySql分区功能来划分我的表(S)是否有助于更快地查询?

EN

回答 1

Database Administration用户

发布于 2019-02-02 12:47:44

运行相同的查询两次。他们第二次跑得更快吗?猜猜看。数据第一次放在磁盘上,必须从磁盘中取出。第二次,这一切都坐在RAM里。差别可能是10倍。

你为什么要一次取五百万行?而且,如果你把5000万行分割成10个‘分区’,为什么那5M行是相关的呢?你可能需要不同的数据片段吗?

无论是手动分区还是使用PARTITION分区,都很少为实际任务提供任何性能好处。

如果您经常需要获取10M行,那么让我们讨论避免获取那么多行的方法,但仍然得到相同的答案。使用摘要表是数据仓库中的一种常见技术。

提供更多的细节,我会更详细地解释为什么我要对你的问题泼冷水。

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

https://dba.stackexchange.com/questions/228749

复制
相关文章

相似问题

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