• Mysql数据库索引


    1.创建索引 

    alter table 表名 add index 索引名称自定义 (字段名称) ;

    2.查询索引是否有建立成功,执行当前sql索引情况

    用explain 关键字 来执行检验sql 例如 explain select * from a
     
    3.查询sql执行时间
    1,查一下profile是不是打开了,默认是不打开的。
    show profiles; 

    2.show variables like "%pro%"; 查看 profiling 是否打开

    3.开启profile
    set profiling=1; 

    4.查看执行时间情况

    show profiles;
    show profile for query 1;



    4.建立索引的原则

    使用索引需要注意:

    ⑴只对WHERE和ORDER BY需要查询的字段设置索引,避免无意义的硬盘开销;

    ⑵组合索引支持前缀索引;

    ⑶更新表的时候,如增删记录,MySQL会自动更新索引,保持树的平衡;因此更多的索引意味着更多的维护成本

     索引的字段类型问题

    • text类型,也可建索引(需指定长度)
    • myisam存储引擎索引键长度综合不能超过1000字节
    • 用来筛选的值尽量保持和索引列同样的数据类型

    索引分四类:

    index ----普通的索引,数据可以重复

    fulltext----全文索引,用来对大表的文本域(char,varchar,text)进行索引。语法和普通索引一样。 

    unique ----唯一索引,唯一索引,要求所有记录都唯一

    primary key ----主键索引,也就是在唯一索引的基础上相应的列必须为主键

    原则

       1,单表数据太少,索引反而会影响速度;更新非常频繁的数据不适宜建索引

       2,where后的条件,order by ,group by 等这样过滤时,后面的字段最好加上索引。根据实际情况,选择PRIMARY KEY、UNIQUE、INDEX等索引,但是不是越多越好,要适度

        3,联合查询,子查询等多表操作时关连字段要加索引

    ps:数据量特别大的时候,最好不要用联合查询,即使你做了索引



  • 相关阅读:
    四校联考【20171001】
    C语言基础知识
    页表和TLB
    python
    Cache组织方式
    On the Spectre and Meltdown Processor Security Vulnerabilities
    latex-组织文本
    深入理解计算机系统
    深入理解计算机系统-计算机系统漫游
    逻辑地址到物理地址的转换
  • 原文地址:https://www.cnblogs.com/dj66194/p/7595705.html
Copyright © 2020-2023  润新知