欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql的key_len

林玟書2年前12瀏覽0評論

MySQL的key_len是指索引的長度,它的計算方式是根據索引中被使用的字段的最長可能長度來計算的。

對于單個字符類型的字段(比如char、varchar、text等),key_len的計算方法是該字段的最大長度。比如,如果一個varchar(50)字段被用作索引,那么它的key_len就是50。

對于多個字符類型字段的組合索引,key_len的計算方法是各字段最大長度之和。比如,如果使用了(city, country)這個組合索引,其中city為varchar(50),country為char(3),那么key_len就是53。

CREATE TABLE `test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` tinyint(3) unsigned NOT NULL,
`sex` enum('male','female') NOT NULL,
`address` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_name_age` (`name`,`age`),
KEY `idx_sex_address` (`sex`,`address`),
KEY `idx_email` (`email`(20))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在上面的示例中,idx_name_age和idx_sex_address都是組合索引,key_len的計算方法分別為50+1=51和3+100=103。

需要注意的是,如果使用了前綴索引,也會影響key_len的計算結果。比如,在上面的示例中,idx_email是對email字段的前20個字符建立的索引,因此key_len的計算結果為20。