• 索引


    MySQL支持6种索引:普通索引,唯一索引,全文索引,单列索引,多列索引,空间索引

    索引的创建有利有弊,可以提高查询速度,但过多的创建索引则会占据许多磁盘空间

    以下情况时候创建索引:

      经常被查询的字段,即在WHERE子句中出现的字段

      在分组的字段,即在GROUP BY子句中出现的字段

      存在依赖关系的子表和父表之间的联合查询,即主键或外键字段

      设置唯一完整性约束的字段

    以下不适合创建索引:

      查询中很少使用的字段

      拥有很多重复值的字段

    创建索引:mysql的存储引擎对每个表至少支持16个索引

    创建表时创建普通索引(普通索引即在创建索引时,不附加任何限制条件):

      INDEX|KEY 索引名 (属性名1 (长度) ASC|DESC)  INDEX index_de (de)

    在已经存在的表上创建普通索引:

      CREATE INDEX 索引名 ON 表名 (属性名 (长度) ASC|DESC)  CREATE INDEX index_de ON t_de (de)

    通过SQL语句ALTER TABLE创建普通索引:

      ALTER TABLE tablename ADD INDEX|KEY 索引名 (属性名 (长度) ASC|DESC)  ALTER TABLE t_de ADD INDEX index_de (de)

    自动索引:表会被系统自动创建索引,当表中某个字段设置主键或唯一完整性约束,系统会自动创建关联该字段的唯一索引

    手动索引:手动在表上创建索引

    唯一索引:创建索引时,限制索引的值必须是唯一的,在INDEX 前加上UNIQUE

      UNIQUE INDEX 索引名 (属性名 (长度) ASC|DESC)

    全文索引:主要关联在数据类型为CHAR,VARCHAR,TEXT的字段上,以便能够更加快速的查询数据了较大的字符串类型字段

      FULLTEXT INDEX 索引名 (属性名 (长度) ASC|DESC)

    多列索引:创建索引时,所关联的字段不是一个字段,而是多个字段,查询条件中只有使用了所关联字段的第一个字段,多列索引才会被使用

      INDEXT 索引名 (属性1 (长度) ASC|DESC, 属性2.。。)

    删除索引:

      DROP INDEX index_name ON table_name

      

  • 相关阅读:
    sql server中的左连接与右连接的简便写法
    SQL中CONVERT()转化函数的用法 字符串转日期
    Asp.net MVC 中Controller返回值类型ActionResult
    一探前端开发中的JS调试技巧
    String trim 坑 对于ascii码为160的去不掉
    SQL小练习
    Java运行时异常和非运行时异常
    java 子类不能继承父类的static方法
    Java中的类加载器
    搞懂head 和 tail 命令
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/7428623.html
Copyright © 2020-2023  润新知