注意点(摘自《高新能MySql》)
1.MySql实现分区表的方式是对底层表的封装,意味着索引也是按照分区表定义的,而没有全局索引
2.Null值会使分区过滤无效
第一个分区是特殊分区所有值为NULL或者非法值的时候,记录都会被存放到第一个分区,实际上MySql会检查俩个区,第一个分区和相应的字段对应分区
3.避免建立和分区列不匹配的索引(不明白)
网上较好的解释:索引列和分区列不匹配是指你的sql语句where条件的包含带有索引的列但不包含分区列的情况,这时候不管分区列有没有索引都不会进行分区过滤
4.选择分区的成本很高
5.所有的分区表必须使用相同的存储引擎
6.查询优化,where条件带入分区列,有时看似多余也要带上,注意:MySql只能在使用分区函数的列本身进行比较时才能过滤分区,而不能根据表达式的值去过滤分区(在创建分区时可以用表达式,在查询时只能根据列来过滤分区)
对于MySql分区的理解(未完待续)
最新推荐文章于 2024-02-05 12:28:32 发布