MySQL小知识点记录

一、MySQL为什么不开启BKA

Q:MySQL为什么默认不开启BKA
A:在某些情况下会导致查询数据丢失,比如虚拟列等情况

二、MySQL的分区键为什么要包含唯一键

Q:MySQL分区键为什么要在唯一索引/主键中
A:MySQL分区表相对于普通表,表结构和索引结构变了,普通表的主键/唯一键并不能保证字段的唯一性。这类似于Oracle的本地分区,如果是普通唯一索引并不能保证全局唯一,需要建立全局唯一索引。

三、不同长度下varchar完全一样么

Q:varchar(255)和varchar(256)在存储上一样么
A:字符集为UTF8的情况下,varchar(255)的长度标识位需要一个字节,而varchar(256)的长度标识位为两个字节

Q:varchar为什么不能都设置成varchar(255)
A:varchar不同长度占用磁盘空间相同,但是内存不一样,更长的会占用更多的内存(MySQL会分布固定大小的内存保存内部值)

猜你喜欢

转载自blog.csdn.net/qq_42979842/article/details/109366338