我的应用程序使用 spring+hibernate+mysql。
我的一些表变得非常大,水平分区确实有利于我解决相关的性能问题。
我查看了 hibernate shards,但不喜欢它不在 maven repo 上并且它仍然被标记为“beta”的事实。
我正在考虑使用 mysql 分区功能并有一些问题:
如果我使用 mysql 创建分区,我可以像往常一样继续使用我的应用程序而不会出现任何休眠错误吗?
我知道我不能明确告诉休眠使用哪个 mysql 分区。但是,如果我使用休眠过滤器“建议”要针对哪个分区,mysql 会优化查询并使用正确的分区?
例子:
假设我按可以是 1、2、3、4 的列类型对我的表进行分区 - 每种类型都转到不同的分区。
如果我在此类型列上添加休眠过滤器,则最终查询将类似于:
从 mytable 中选择 blabla,其中 stuff AND type=3(休眠过滤器添加了 type = 3)。
mysql会捡起这个并像对待它一样对待它吗
从 mytable PARTITION (type3) where stuff 中选择 blabla