zoukankan      html  css  js  c++  java
  • 第七章 索引

    第一节:索引的引入

    索引定义:索引是由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度;
    类似于图书的目录,方便快速定位,寻找指定的内容;

    第二节:索引的优缺点

    优点:提高查询数据的速度;
    缺点:创建和维护索引的时间增加了;

    第三节:索引实例


    第四节:索引分类

    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])
    );


    1,创建普通索引

    CREATE TABLE t_user1(id INT ,
         userName VARCHAR(20),
         PASSWORD VARCHAR(20),
         INDEX (userName)
    );


    2,创建唯一性索引

    CREATE TABLE t_user2(id INT ,
         userName VARCHAR(20),
         PASSWORD VARCHAR(20),
         UNIQUE INDEX index_userName(userName)
    );


    3,创建全文索引

    mysql不支持。

    4,创建单列索引


    5,创建多列索引

    CREATE TABLE t_user3(id INT ,
         userName VARCHAR(20),
         PASSWORD VARCHAR(20),
         INDEX index_userName_password(userName,PASSWORD)
    );


    6,创建空间索引




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

    CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名 ON 表名 (属性名 [(长度)] [ ASC | DESC]);

    CREATE TABLE t_user4(id INT ,
         userName VARCHAR(20),
         PASSWORD VARCHAR(20)
    );
    
    CREATE     INDEX index_userName ON t_user4(userName);
    
    CREATE     UNIQUE INDEX index_userName ON t_user4(userName);
    
    CREATE  INDEX index_userName_password ON t_user4(userName,PASSWORD);


    5.3 用 ALTER TABLE 语句来创建索引

    ALTER TABLE 表名 ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名 (属性名 [(长度)] [ ASC | DESC]);

    ALTER TABLE t_user5 ADD INDEX index_userName(userName);
    
    ALTER TABLE t_user5 ADD UNIQUE INDEX index_userName(userName);
    
    ALTER TABLE t_user5 ADD INDEX index_userName_password(userName,PASSWORD);



    第六节:删除索引

    DROP INDEX 索引名 ON 表名 ;

    DROP INDEX index_userName ON t_user5;
    
    DROP INDEX index_userName_password ON t_user5;
  • 相关阅读:
    thrift 依赖的库
    环球雅思名师公益大讲堂课表2.182.23 雅思资讯 环球雅思
    经验分享band 7.5已经工作的人如何准备雅思考试学习心得雅思频道|太傻网考试频道|常识 辅导 技巧 机经 名师 访谈 交流 资料 试题库
    Chapter 14. Boost.PropertyTree
    少讨论概念,少争论特征、少议论模型;多写代码、多做测试、多做应用。
    澳洲技术移民申请流程
    neo4j——图数据库初探 JDream314的专栏 博客频道 CSDN.NET
    Australia Immigration Network
    boost::property_tree
    海外澳洲技术移民花费一览表(2006年11月完整版) Topboy 博客园
  • 原文地址:https://www.cnblogs.com/liuhongfeng/p/4925719.html
Copyright © 2011-2022 走看看