mysql值长度

mysql值长度,第1张

这个意思是varchar存储时,会用1个二进制位表示varchar长度; 但如果varchar列可能超过255字节,会使用2个二进制位表示长度。

length只是计算值的字节数,并不会计算存储的开销。

如果一定要验证,只能是尝试触发行65535限制。

参考资料:

MySQL字段长度、取值范围、存储开销

MySQL存储要求

添加语法: ALTER TABLE table_name ADD KEY(column_name(prefix_length))

在MySQL中,前缀长度最大值为255字节。对于存储引擎为MyISAM或InnoDB的数据表,前缀最长为1000字节。 必须注意的是,在MySQL中,对于TEXT和BLOB这种大数据类型的字段,必须给出前缀长度(length)才能成功创建索引。

如何确定前缀索引长度?

可以通过计算选择性来确定前缀索引的选择性,计算方法如下

全列选择性:

SELECT COUNT(DISTINCT column_name) / COUNT(*) FROM table_name

某一长度前缀的选择性

SELECT COUNT(DISTINCT LEFT(column_name, prefix_length)) / COUNT(*) FROM table_name

当前缀的选择性越接近全列选择性的时候,索引效果越好。

参考文章:

MySQL索引 *** 作命令详解

MySQL 前缀索引


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8307530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存