例如,在自动递增索引上使用模1024哈希来指定内容所在的表,然后查询该表。这样,如果在未来的表格中有数以百万计的帖子,排序和选择不会很慢,代价是不容易搜索。将一个大表分区成许多小表还有其他缺点吗?比如博客评论或者论坛帖子回复?

最佳答案

对表进行分区并不会自动加快对它的所有查询。例如,可以运行一个查询来搜索特定的用户id,而不是分区列。然后查询必须搜索每个分区。
因此,必须设计分区以匹配要优化的查询条件。
有时无法做到这一点,要么是因为您使用不同的词进行了各种搜索,要么是因为搜索词中的列不能放入表的主键中(请记住,mysql分区列必须包含在表的主键/唯一键中)。
也就是说,如果您能够以允许分区修剪的方式进行分区,以加快您希望优先处理的查询,那么是的,分区可以带来很多好处。有多少好处取决于许多其他因素。

10-08 04:30