mysql怎么找二叉树 mysql查询树形结构( 八 )


索引的分类
如果我们指定了一个主键,那么这个主键就是主键索引 。如果我们没有指定,Mysql就会自动找一个非空的唯一索引当主键 。如果没有这种字段 , Mysql就会创建一个大小为6字节的自增主键 。如果有多个非空的唯一索引,那么就让第一个定义为唯一索引的字段当主键,注意 , 是第一个定义,而不是建表时出现在前面的 。
对于辅助索引来说,它们的B+树结构稍微有点特殊,它们的叶子节点存储的是主键 , 而不是整个数据 。所以在大部分情况下,使用辅助索引查找数据,需要二次查找 。但并不是所有情况都需要二次查找 。比如查找的数据正好就是当前索引字段的值,那么直接返回就行 。这里提一句,B+树的key就是对应索引字段的内容 。
而辅助索引又有一些分类:唯一索引:不能出现重复的值 , 也算一种约束 。普通索引:可以重复、可以为空,一般就是查询时用到 。前缀索引:只适用于字符串类型数据,对字符串前几个字符创建索引 。全文索引:作用是检测大文本数据中某个关键字,这也是搜索引擎的一种技术 。
注意,聚集索引、非聚集索引和前面几个索引的分类并不是一个层面上的 。上面的几个分类是从索引的作用来分析的 。聚集、非聚集索引是从索引文件上区分的 。主键索引就属于聚集索引,即索引和数据存放在一起,叶子节点存放的就是数据 。数据表的.idb文件就是存放该表的索引和数据 。
辅助索引属于非聚集索引,说到这也就明白了 。索引和数据不存放在一起的就是非聚集索引 。在MYISAM引擎中,数据表的.MYI文件包含了表的索引,该表的 叶子节点存储索引和索引对应数据的指针 , 指向.MYD文件的数据 。
索引的几点使用经验
经常被查询的字段;经常作为条件查询的字段;经常用于外键连接或普通的连表查询时进行相等比较字段;不为null的字段;如果是多条件查询,最好创建联合索引 , 因为联合索引只有一个索引文件 。
经常被更新的字段、不经常被查询的字段、存在相同功能的字段
【mysql怎么找二叉树 mysql查询树形结构】mysql怎么找二叉树的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于mysql查询树形结构、mysql怎么找二叉树的信息别忘了在本站进行查找喔 。

推荐阅读