博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL索引
阅读量:7124 次
发布时间:2019-06-28

本文共 776 字,大约阅读时间需要 2 分钟。

hot3.png

explain

sql index
where order by select
using filesort
using temp table

 

1、索引:

    是一钟数据结构,能够提高数据的检索速度
    索引也存储在硬盘上,也是文件
    1,3,2,5,7,9,2,5,6
    
    全表扫描
    
    索引特点:排好序,快速查找,数据结构
    
    Index_type
    
    -----------
    BTREE
    
    BTree:Balance tree
    
    Hash 索引 crc16
    Memory存储引擎,内存数据表存储引擎
    特点:查找高效,理论上面只需要查找一次
    缺点:会产生地址冲突,如果地址冲突比较多的话,索引的维护就比较麻烦,代价很高
    局限:
        1、hash索引只能用于等值比较,也就是范围查找用不上索引,等值比较包含=,<=> ,in()
        2、无法使用索引最左前缀列原则
        create index idx_id_name(id name)
        where id=1
    
    因为mysql主要推荐的是myisam,innodb表存储引擎
    
    聚集索引和非聚集索引原理(数据的物理存储结构)
    
    非聚集索引:
    innodb_file_per_table
    
    innodb btree
    *.idb:存储索引的值,也会存储其他普通字段
    
    innodb 主键,非空唯一,默认innodb会自己维护一个唯一id rowid
    
    索引的优缺点:
    优点:提高数据检索速度,降低磁盘IO读写
            因为数据是排好序的,这样就降低了数据排序的运算成本,从而降低了CPU的消耗
    缺点:索引存储在磁盘上面,所以占空间
            字段更新会有性能损耗,因为更新索引字段的时候不仅要更新数据而且需要更新索引树

            所以说,如果字段更新比较频繁,那么这个字段就不适合建立索引

转载于:https://my.oschina.net/u/2441327/blog/873114

你可能感兴趣的文章
js表单验证
查看>>
JAVA定时器
查看>>
php测试中小技巧(省去不少时间)
查看>>
众推项目的文档分享流程
查看>>
我的友情链接
查看>>
mysql的binlog安全删除
查看>>
JSTL+EL-----消灭java的JSP语言(去伪存精版)
查看>>
JAVA设计模式之桥接模式
查看>>
通用虚拟机连接外网配置
查看>>
sscanf() 函数
查看>>
poj - 1061 青蛙的约会【扩展欧几里】
查看>>
centos redis 主从配置+哨兵模式
查看>>
错题解析
查看>>
[SDOI2011]染色 BZOJ2243 树链剖分+线段树
查看>>
DNS检测
查看>>
ssl 握手过程【收藏】
查看>>
Delphi常用取整函数
查看>>
Html中空格转义字符
查看>>
微信公众平台开发--生成带参数二维码
查看>>
随笔归档
查看>>