• MySQL学习总结(三)索引


    补充一下,上一章节中约束的一点东西。我们在为约束设置名称的时候(标识符)推荐写法“约束缩写_字段名”,这样让人看起来就会很清晰。例如:FK_Deptno,我们通过索引的名字就可以大概知道这是一个设置的关于Deptno字段的外键。

    一个索引包含表中按照一定顺序排序的一列或者多列字段。创建索引主要是为了提高从表中检索数据的速度。但是创建索引有利也有弊,优点是通过索引,可以提高查询的速度。但是过多的创建索引会占据许多的磁盘空间,因此在创建索引的时候一定要权衡利弊。

    以下情况适合创建索引:

    (1)经常被查询的字段

    (2)经常出现在分组中的字段

    (3)表的主键或者是外键字段

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

    以下情况不适合创建索引:

    (1)在查询中很少被使用的字段

    (2)拥有许多重复的值的字段

    索引名在设置的时候,建议“index_字段名”,这样看起来很清晰。

    索引根据创建方式又可以分为两类,自动索引和手动索引。通过名称我们可以简单的理解,自动索引就是自动创建的索引(和废话一样。。),在设置表的主键或者其他设置完整性约束的时候,MySQL系统会自动创建索引。而手动索引,指的是我们主动在表上创建的索引,如下图所示:

    QQ截图20160526112526

    1、创建索引

    1.1 、创建普通索引

    CREATE TABLE table_name(

            属性名 数据类型,

            属性名 数据类型,

           …

            INDEX 索引名(属性名1)

    )

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

    CREATE INDEX 索引名 ON 表名 (属性名)

    1.3、ALTER TABLE创建普通索引

    ALTER TABLE table_name ADD INDEX 索引名 (属性名)

    2、创建唯一索引

    唯一索引,就是在创建索引的时候,限制索引值必须是唯一值,通过该类型的索引可以更快的查询某条记录。

    2.1 、创建表时创建唯一索引

    CREATE TABLE table_name(

            属性名 数据类型,

            属性名 数据类型,

           …

           UNIQUE  INDEX 索引名(属性名1)

    )

    2.2、在已经存在的表上创建唯一索引

    CREATE UNIQUE   INDEX 索引名 ON 表名 (属性名)

    2.3、ALTER TABLE创建唯一索引

    ALTER TABLE table_name ADD UNIQUE    INDEX 索引名 (属性名)

    注意:创建唯一索引的时候,如果表中该字段有为空值的时候,则唯一索引会创建失败。

    3、创建全文索引

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

    3.1 、创建表时创建全文索引

    CREATE TABLE table_name(

            属性名 数据类型,

            属性名 数据类型,

           …

           FULLTEXT INDEX 索引名(属性名1)

    )

    3.2、在已经存在的表上创建全文索引

    CREATE FULLTEXT INDEX 索引名 ON 表名 (属性名)

    3.3、ALTER TABLE创建全文索引

    ALTER TABLE table_name ADD FULLTEXT INDEX 索引名 (属性名)

    4、通过SQLyog创建索引

    右键要创建索引的表,选择改变表菜单,点击“2个索引”,如下图所示:

    QQ截图20160526130700

    通过SQLyog软件,我们可以更加方便快捷的创建索引。而且界面也很简单,易上手。

    5、删除索引

    SQL语法:DROP INDEX index_name ON table_name;

    通过SQLyog软件,在表——>索引,点击节点前面的加号,选中要删除的索引,右键选择“删除索引”,根据提示选择是,成功删除,如图:

    QQ截图20160526131107

     

    或在改变表的索引列下删除,上面已经介绍过。

  • 相关阅读:
    剩余的div自动填满height calc
    防抖
    autocomplete失效
    子组件上下结构布局自适应父组件宽度高度
    glup打包代码不更新
    手写弹出框,设置遮罩,布局设计。
    css设置背景透明度
    vue项目中z-index不起作用(将vue实例挂在到window上面)
    odoo官方文档第十二章 Javascript Reference
    odoo官方文档第十一章 Javascript Cheatsheet
  • 原文地址:https://www.cnblogs.com/woshikh/p/5530739.html
Copyright © 2020-2023  润新知