gpt4 book ai didi

mysql - 在解释语句中理解 MySQL key_len

转载 作者:IT老高 更新时间:2023-10-29 00:03:40 24 4
gpt4 key购买 nike

根据MySQL website , key_len 列表示 MySQL 决定使用的键的长度。如果键列为 NULL,则长度为 NULL。请注意,key_len 的值使您能够确定 MySQL 实际使用多部分 key 的多少部分。

使用我的 previous question 中的示例,我有一个 EXPLAIN SELECT 语句显示 MySQL 使用 Indexkey_len: 6。下面显示了所使用的索引和列的组成。

`Type` char(1) NOT NULL,
`tn` char(1) NOT NULL DEFAULT 'l',
`act` tinyint(1) unsigned NOT NULL DEFAULT '0',
`flA` mediumint(6) unsigned NOT NULL DEFAULT '0',
KEY `Index` (`Type`, `tn`, `act`, `flA`)

那么 key_len 的值如何让我确定我的查询使用了多部分键的前三部分?

最佳答案

key_len 指定 MySQL 从 key 中使用的字节数。
索引总是从左到右使用。即只使用最左边的部分。

你的字段长度如下:

1 byte             `Type` char(1) NOT NULL,
1 byte tn char(1) NOT NULL DEFAULT 'l',
1 byte act tinyint(1) unsigned NOT NULL DEFAULT '0',
3 bytes flA mediumint(6) unsigned NOT NULL DEFAULT '0',
1+1+1+3 = 6 bytes KEY `Index` (`Type`, `tn`, `act`, `flA`)
key usage always starts here ---^^^^^

如果 key_len = 3 则它使用 type+tn+act
请注意,Key_len = 4 在此配置中是不可能的。

关于mysql - 在解释语句中理解 MySQL key_len,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7643491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com