您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python MySQL(索引的使用补充)

bubuko 2022/1/25 20:05:25 mysql 字数 3372 阅读 808 来源 http://www.bubuko.com/infolist-5-1.html

索引 作用 约束 加速查找 索引 普通索引:加速查找 主键索引:加速查找 + 不能为空 + 不能重复 唯一索引:加速查找 + 不能重复 联合索引 (联合唯一索引) 联合主键索引(多列联合起来作为主键索引) 联合唯一索引(多列联合起来作为唯一索引) 联合普通索引 加速查找(索引就像一个目录一样,如果没 ...

索引

  1. 作用
    • 约束
    • 加速查找
  2. 索引
    1. 普通索引:加速查找
    2. 主键索引:加速查找 + 不能为空 + 不能重复
    3. 唯一索引:加速查找 + 不能重复 
    4. 联合索引 (联合唯一索引)
      1. 联合主键索引(多列联合起来作为主键索引)
      2. 联合唯一索引(多列联合起来作为唯一索引)
      3. 联合普通索引
  3. 加速查找(索引就像一个目录一样,如果没有目录就要从头到尾看一遍)
    1. 无索引:从前到后依次查找
    2. 索引:
      会创建一个额外文件,如果查找时,先到额外文件茶,查到了再到数据库里找  
    3. 索引种类
      1. hash索引:把内容转换成hash值,把它的值和在数据库的地址存储成一个表,但位置和原来数据库的数据位置不同
                           优点:查找单值时非常快
                           缺点:不能按范围查找,如果想要按ID查到,但hash索引位置不固定就不能查找出来
      2. btree索引:
        1. 把数据转换成数字然后放进二叉树中,假如是1024不需要从1查到1024查1024次,只需要2**10,查找10次
    4. 建立索引:
      1. 额外的文件保存特殊的数据结构
      2. 查询快;插入更新删除慢,因为在数据库和索引中同时改动
      3. 命中索引,创建索引了索引
        select * from userinfo where name = ‘小明‘;      快
        select * from userinfo where name like ‘小明‘;   慢
      4. 主键一般创建表的时候都会创建
      5. 普通索引:
        create index 索引名称 on 表(列名)     
        能创建就能删除 drop index 索引名称 on 表;
      6. 唯一索引:(创建表的时候也能创建)
        create unique index 索引名称 on 表(列名)      
        drop unique index 索引名称 on 表;
      7. 联合索引:(普通联合索引和唯一联合索引)
        create (unique) index 索引名称 on 表(列名,列名)      
        drop (unique) index 索引名称 on 表;

Python MySQL(索引的使用补充)

原文:https://www.cnblogs.com/otome/p/12498111.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶