数据库索引初识
数据库的操作,选择,修改,删除。对于数据量大或者有性能要求时,都需要优化我们的操作,其中一个操作就是建立索引,在数据库表的某列或者某几列上面建立索引。
例如 表information:
name age sex address ……
查询某个姓名为“Nommy”的信息,如果该表有几千行,则需每行遍历查找数据,直至最后一行,效率不高,没有目的,甚至姓名不是主键可能存在多行姓名为Nommy情况,那么必须要遍历每一行完成为止。,,即全表扫描
索引:索引是表的列上创建,是一种数据结构
B-Tree(B树)索引,
引用过来数据结构中的B树,索引的列元素按照有序排列,非常方便查找某一条件,比如age索引,age<40,对吧,
Hash索引,
这种索引的查找相等效率超级高,比如按照名字索引,按照名字查找某一个人的信息。,但是条件查询的话也就不方便了。
位图索引,
适合包含布尔值得列上,
索引建立
自己建立索引:
数据库中,数据库已会自动创建索引提升性能。但也可以自己创建,可自己选择方式,那些列等。
CREATE INDEX name_index
ON information(name)
自动创建索引:
表中定义主键约束或者唯一约束等,自动创建索引
说明:
索引存储列值数据结构,使得查找更快。同时对于该项数据其他列的元素,通过指针指向。速度快,也可以访问该元组其他元素的值,很是方便
索引也是要占空间的,仅当需要的适合,建立合适的索引,才是最重要的