我有一张巨大的桌子name, date, source, detail, views
。 name, date, source, detail
在一起作为PK。 source
最初是ENUM类型。
现在我打算对表进行分区。我计划将source
更改为sourceid (INT)
和PARTITION BY LIST (sourceid)
。我在另一张小桌子上测试过。
我的问题是,我是否需要一些添加过程(例如,修剪)以使后面的SELECT
命令更快? AND将简单SELECT * FROM tb WHERE sourceid = 1
命令更快(只查找正确的分区而不是整个表)?
答案 0 :(得分:0)
我是否需要一些添加过程(例如,修剪)以使后来的
SELECT
命令更快?
使用分区不会神奇地使SELECT更快。
简单
SELECT * FROM tb WHERE sourceid = 1
命令会更快(只查找正确的分区而不是整个表)?
MySQL会分析WHERE子句来决定从哪个分区读取?是。
这会比sourceid
上的索引更快吗?在不了解您的数据库的情况下无法说出来。