对于MySql分区的理解(未完待续)

本文探讨了MySql分区表的实现方式及注意事项,包括Null值处理、索引与分区列匹配的重要性、分区成本考虑、统一存储引擎的要求及查询优化技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值