• 关于索引的一些总结


    索引的理解:
    1.在数据库系统中是一个排序的数据结构,以协助快速查询,更新数据库中表数据
    2.需要数据库开辟空间存储索引,在插入和修改数据的时候花费较多的时间(数据变更需要建立或者重建索引)
    3.如果使用函数或者like等索引就会失效(like以%或者_开头索引失效)

    索引的类型:
    1.单字段索引
    对单个字段的索引是最常见,最简单的。
    create index 索引名 on 表名(列名)

    2.唯一索引
    用于改善性能和保证数据的完整性,数据不允许重复。
    create unique index 索引名 on 表名(列名)

    3.组合索引
    create index 索引名 on 表名(列名,列名)

    1.单表数据太少,索引反而会影响速度。(不要加索引)
    2.where后的条件,order by,group by等这样的过滤时,后面的字段最好加上索引。但不是索引越多越好,要适度。
    3.联合查询和子查询等多表操作关联字段加索引。
    4.不应该对包含大量NULL字段加索引,尽量对字段设置not null。
    5.经常要进行增,改等操作的字段,不应该设置索引。索引的新建和重建会耗时间。

    1.越小的数据类型通常越好,越小的数据类型通常在磁盘,内存和CPU缓存中只需要更少的空间,处理起来就会更快!
    2.简单的数据类型更好,整形数据比字符处理开销更小,因为字符串更复杂。在mysql中,日期时间应该用日期和时间类型,不要使用字符串类型存储时间。

    删除索引:
    drop index 索引名 on 表名;

    修改索引:
    尽量不要修改索引,可以删掉重建。

  • 相关阅读:
    Java多线程性能优化
    It is indirectly referenced from required .class files
    Switch基本知识
    HibernateTemplate 查询
    Hibernate工作原理及为什么要用?
    深入Java集合学习系列:HashMap的实现原理
    sql查询语句中的乱码 -- 前面加N
    Windows 8.1内置微软五笔输入法
    the rendering library is more recent than your version of android studio
    JBoss vs. Tomcat
  • 原文地址:https://www.cnblogs.com/wangtianze/p/6705712.html
Copyright © 2020-2023  润新知