MySQL索引

    xiaoxiao2021-03-25  77

    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://ju.6miu.com/read-38583.html

    最新回复(0)