郑州Web前端培训怎么样?MySQL索引有哪些详解?MySQL是***、Web前端应用中**的RDBMS (Relational Database Management System) 应用软件之一。索引的建立可以大大提高MySQL的检索速度,Web前端工程师掌握MySQL索引非常重要,接下来小编分享的郑州Web前端学习入门教程就给大家详细介绍一下MySQL索引。
索引能干什么
索引非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引能够轻易将查询性能提高好几个数量级,总的来说就是可以明显的提高查询效率。
索引的分类有哪些
1、从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引。这里所描述的是索引存储时保存的形式,
2、从应用层次来分:普通索引,**索引,复合索引
3、根据中数据的物理顺序与键值的逻辑(索引)顺序关系:聚集索引,非聚集索引。
我们平常所说的索引类型一般是指在应用层次的划分,主要包括以下几种:
普通索引:即一个索引只包含单个列,一个表可以有多个单列索引。
**索引:索引列的值必须**,但允许有空值。
复合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并。
聚簇索引(聚集索引):并不是一种单独的索引类型,而是一种数据存储方式。具体细节取决于不同的实现,InnoDB的聚簇索引其实就是在同一个结构中保存了B-Tree索引(技术上来说是B+Tree)和数据行。
非聚簇索引:不是聚簇索引,就是非聚簇索引。
为什么索引结构默认使用B+Tree,而不是Hash、二叉树或红黑树
B-tree:因为B树不管叶子节点还是非叶子节点,都会保存数据,这样导致在非叶子节点中能保存的指针数量变少(有些资料也称为扇出),指针少的情况下要保存大量数据,只能增加树的高度,导致IO操作变多,查询性能变低。
Hash:虽然可以快速定位,但是没有顺序,IO复杂度高。
二叉树:树的高度不均匀,不能自平衡,查找效率跟数据有关(树的高度),并且IO代价高。
红黑树:树的高度随着数据量增加而增加,IO代价高。
说的再多不如动手练一遍,如果你想了解更多郑州Web前端学习教程资料,可以来千锋郑州申请两周免费试听,亲身感受讲师的教学水平。 |