gpt4 book ai didi

mysql - 为什么用mySQL在 "USING BTREE"中出现了一个 "CREATE TABLE"?

转载 作者:行者123 更新时间:2023-11-29 05:22:53 25 4
gpt4 key购买 nike

我正在检查我的数据库表,出现了一些我无法解释的东西:

CREATE TABLE  `challenges` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`KIND` enum('1','2','3') NOT NULL DEFAULT '1',
`TITLE` varchar(255) NOT NULL DEFAULT '',
`DESCRIPTION` text NOT NULL,
`DATEAT` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`OWNER_ID` int(10) unsigned NOT NULL DEFAULT '0',
`SOLVEDREPLAY_ID` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `Index_2` (`OWNER_ID`),
KEY `Index_4` (`DATEAT`),
KEY `Index_3` (`SOLVEDREPLAY_ID`) **USING BTREE**,
KEY `Index_5` (`KIND`) **USING BTREE**,
CONSTRAINT `FK_challenges_1` FOREIGN KEY (`OWNER_ID`) REFERENCES `users` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_challenges_2` FOREIGN KEY (`SOLVEDREPLAY_ID`) REFERENCES `uploads` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

Index_3 和 Index_5 正在使用 btree(在 ** ** 之间,我无法将其设置为粗体),但有趣的是其他人不是。所有索引都是“BTREE”,我只是不明白为什么在 CREATE TABLE 表达式中强调它

最佳答案

这意味着您的索引在底层使用 B 树模型,而不是 HashMap 。

B 树是二叉树的推广。它们适用于不等式( <> )、范围和排序。 Hashmaps 不支持这些东西,但是对于相等/不相等的检查更快。我不确定对于像 KIND 这样的小型枚举集,哪个表现更好。

反正默认是 BTREE,所以这些语句只是显式的。

这是一个很好的 MySQL 引用资料:http://dev.mysql.com/doc/refman/5.5/en/index-btree-hash.html

关于mysql - 为什么用mySQL在 "USING BTREE"中出现了一个 "CREATE TABLE"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23580588/

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