• 手把手教你mysql(十)索引


    手把手教你mysql(十)索引

     

    一:索引的引入

    索引定义:索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。

    类似于图书的目录,方便快速定位,寻找指定的内容,如一本1000页的书,如果没有目录,你想要知道指定的内容,必须要1页1页翻过去,是不是很浪费时间?

     

    二:索引的优缺点

    优点:提高查询数据的速度。

    缺点:创建和维护索引的时间增加了。

     

    三: 索引实际应用

    T_teacher表中有100000条数据,是我利用Hibernate插的,大家可以自己用jdbc插一下或者用后面的知识创建一个存储过程来插,感兴趣的可以先百度预习下。

     

    Mysql>Select count(*) from t_teacher;

    Mysql>Select * from t_teacher where name=’老师99999’; #我这的速度是79毫秒,这边用name不能用id,因为id是主键

    Mysql>CREATE INDEX `index_name` ON `t_teacher`(`name`);#在name列上创建索引

    Mysql>Select * from t_teacher where name=’老师99999’;#再次查找,速度几乎是0毫秒,可见加了索引的速度是多么的快.

     

    四:索引分类

    1: 普通索引(常用)

    这类索引可以创建在任何数据类型中。

     

    2: 唯一性索引(常用)

    使用UNIQUE 参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的,主键默认就是唯一的。

     

    3: 全文索引

    使用FULLTEXT 参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT 类型的字段上。主要作用就是提高查询较大字符串类型的速度;只有MyISAM 引擎支持该索引,Mysql 默认引擎不支持。

     

    4: 单列索引

    在表中可以给单个字段创建索引,单列索引可以是普通索引,也可以是唯一性索引,还可以是全文索引。

     

    5: 多列索引

    多列索引是在表的多个字段上创建一个索引。

     

    6: 空间索引

    使用SPATIAL 参数可以设置空间索引。空间索引只能建立在空间数据类型上,这样可以提高系统获取空间数据的效率;只有MyISAM 引擎支持该索引,Mysql 默认引擎不支持。

     

    五:创建索引

    5.1 创建表的时候创建索引

    CREATE TABLE 表名(属性名数据类型[完整性约束条件],

    属性名数据类型[完整性约束条件],

    ....

    属性名数据类型

    [UNIQUE | FULLTEXT | SPATIAL ] INDEX| KEY

    [别名] (属性名1 [(长度)] [ASC | DESC])

    );




     这边没有指定索引的名字,使用mysql默认的索引名

     

    5.2 在已经存在的表上创建索引

    CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名

    ON 表名(属性名[(长度)] [ ASC | DESC]);

    Mysql>CREATE TABLE `t_test2`(

    id INT PRIMARY KEY AUTO_INCREMENT,

    username VARCHAR(30),

    PASSWORD VARCHAR(10)

    );

    Mysql>CREATE INDEX `index_username` ON `t_test2`(`username`);



    5.3 用ALTER TABLE 语句来创建索引

    ALTER TABLE 表名ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX

    索引名(属性名[(长度)] [ ASC | DESC]);

    Mysql>ALTER TABLE `t_test2`

    ADD UNIQUE INDEX `index_password`(`password`);


    六: 删除索引

    DROP INDEX 索引名ON 表名;

    Mysql>DROP INDEX `index_username` ON `t_test2`;


    七: 总结

    今天为大家带来了索引的相关内容,大家好好练习消化下,下节为大家带来视图的相关内容,谢谢大家!奋斗


  • 相关阅读:
    makefile文件编写
    soem函数库的编译
    加秘钥的SSH
    ssh传文件
    ssh1
    安装paramiko的方法
    Ftp客户端(上传文件)
    ftp服务端
    vi编辑器没有颜色的解决办法
    socket服务器
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3455519.html
Copyright © 2020-2023  润新知