色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql的key_len

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

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

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

對于多個(gè)字符類型字段的組合索引,key_len的計(jì)算方法是各字段最大長度之和。比如,如果使用了(city, country)這個(gè)組合索引,其中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的計(jì)算方法分別為50+1=51和3+100=103。

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