MySQL数据库分区

发布于 2025-01-01 01:15:44 字数 358 浏览 0 评论 0原文

我有一个巨大的表名称、日期、来源、详细信息、视图名称、日期、来源、详细信息一起作为 PK。 source 原本是 ENUM 类型。

现在我计划对表进行分区。我计划将source更改为sourceid (INT)PARTITION BY LIST (sourceid)。我在另一张小桌子上测试过。

我的问题是,我是否需要一些添加过程(例如修剪)以使后面的 SELECT 命令更快?并且简单的 SELECT * FROM tb WHERE sourceid = 1 命令会更快吗(仅查找正确的分区而不是整个表)?

I have a huge table name, date, source, detail, views. name, date, source, detail are together as PK. source is originally ENUM type.

Now I plan to partition the table. I plan to change the source to sourceid (INT), and PARTITION BY LIST (sourceid). I have tested on another small table.

My question is, do I need some addition process (e.g., prune) to make the later SELECT command faster? AND will simple SELECT * FROM tb WHERE sourceid = 1 command be faster (only lookup the right partition instead of the whole table)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷情 2025-01-08 01:15:44

我是否需要一些添加过程(例如修剪)以使后面的SELECT命令更快?

使用分区不会神奇地使 SELECT 更快。

简单的SELECT * FROM tb WHERE sourceid = 1命令会更快吗(仅查找正确的分区而不是整个表)?

MySQL会分析WHERE子句来决定从哪些分区读取吗?是的。

这会比在 sourceid 上建立索引更快吗?如果不了解更多关于您的数据库的信息,就不可能说。

do I need some addition process (e.g., prune) to make the later SELECT command faster?

Using partitions won't magically make SELECTs faster.

Will simple SELECT * FROM tb WHERE sourceid = 1 command be faster (only lookup the right partition instead of the whole table)?

Will MySQL analyze the WHERE clause to decide which partitions to read from? Yes.

Will this be faster than having an index on sourceid? Impossible to say without knowing more about your database.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文