mysql是否支持垂直分区?

时间:2014-04-02 08:34:14

标签: mysql vertical-partitioning

我有一个mysql数据库每年增长45-50%。在过去几年中,它已经增加到相当大的数量,现在导致生产中的性能问题。

在测试环境中进行分析时,我发现有一个表有大约20列,有4-5列longtext类型。这有大约1.8M的记录,并且经常被应用程序访问。我已经浏览了很多mysql性能博客并且感觉到垂直分区在这种情况下可能会有所帮助,所以考虑尝试手动分解两个部分的表,一个表中的所有logntext列和另一个表中的其他列由主键映射的表,并且导致该问题的同一查询的性能提高了80%。

现在,我不确定我是否可以在不破坏表的情况下在数据库级别实现垂直分区,就像我使用手动选项一样,它将需要对代码和查询进行大量更改,这可能会导致生产中出现其他一些意外情况。

请建议MySql是否实际支持数据库级别的垂直分区。我试图谷歌它但只找到水平分区的例子,没有引用垂直分区。感谢你的帮助。

P.S。我不是数据库专家,所以我所做的一切都是基于MySql博客/论坛上的建议/反馈。

由于

1 个答案:

答案 0 :(得分:1)

mysql不支持垂直分区

https://dev.mysql.com/doc/refman/5.7/en/partitioning-overview.html

MySQL 5.7不支持垂直分区,其中表的不同列分配给不同的物理分区。目前还没有计划将垂直分区引入MySQL。