zoukankan      html  css  js  c++  java
  • 数据库索引初识

    数据库的操作,选择,修改,删除。对于数据量大或者有性能要求时,都需要优化我们的操作,其中一个操作就是建立索引,在数据库表的某列或者某几列上面建立索引。

    例如 表information:

      name  age  sex  address ……

    查询某个姓名为“Nommy”的信息,如果该表有几千行,则需每行遍历查找数据,直至最后一行,效率不高,没有目的,甚至姓名不是主键可能存在多行姓名为Nommy情况,那么必须要遍历每一行完成为止。,,即全表扫描

    索引:索引是表的列上创建,是一种数据结构

      B-Tree(B树)索引,

      引用过来数据结构中的B树,索引的列元素按照有序排列,非常方便查找某一条件,比如age索引,age<40,对吧,

      Hash索引,

      这种索引的查找相等效率超级高,比如按照名字索引,按照名字查找某一个人的信息。,但是条件查询的话也就不方便了。

      位图索引,

      适合包含布尔值得列上,

    索引建立  

      自己建立索引:

      数据库中,数据库已会自动创建索引提升性能。但也可以自己创建,可自己选择方式,那些列等。

      CREATE INDEX name_index  

      ON information(name)

      自动创建索引:

      表中定义主键约束或者唯一约束等,自动创建索引

    说明:

      索引存储列值数据结构,使得查找更快。同时对于该项数据其他列的元素,通过指针指向。速度快,也可以访问该元组其他元素的值,很是方便

      索引也是要占空间的,仅当需要的适合,建立合适的索引,才是最重要的

      

  • 相关阅读:
    Macbook上如何把中文文本转成UTF-8
    防火墙学习笔记
    百万长连接并发的限制因素
    meminfo中的字段都是什么意思?
    维护TCP长连接时系统配置的参数net.ipv4.tcp_keepalive_time不生效
    小程序如何利用CSS画出箭头
    cephfs配额问题
    ceph机房断电之后重启遇到问题“Transaction order is cyclic. See system logs for details.”
    valgrind的使用方法
    程序员的创业经历
  • 原文地址:https://www.cnblogs.com/weiyi-mgh/p/7525471.html
Copyright © 2011-2022 走看看