zoukankan      html  css  js  c++  java
  • mysql索引(四)

      mysql 索引的建立可以大大的提高,mysql 的检索速度; 

      索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它包含着对数据表里所有记录的引用指针。在sql语句中,在没有索引的情况下,数据库会便利全部数据后选择符合条件的,而有了响应的索引之后,数据库会直接在索引中查找符合条件的选项;
      索引分为聚簇索引和费局促索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快;
    mysql索引分为:普通索引、唯一索引、全文索引、单列索引,多列索引、组合索引;

      虽然索引可以大大的提交 mysql 的检索速度,但是也会降低更新表的速度;

      一、普通索引

        普通索引是mysql中最基本的索引了,它没有任何的限制;

        1)、创建索引

          create index index_name on tablename(column_name(length))

          或者在创建表的时候就创建索引    create table table_name(id int,title varchar(10),primary key ('id'),index index_name(title(8)))

          再或者  alter table table_name add index index_name on (column_name(length))

        2)、删除索引

          drop index index_name on table_name

          或者 alter table table_name drop index index_name

      二、唯一索引

        唯一索引与普通索引类似,但是不同的是:唯一索引的索引列的值必须是唯一的,但是允许有空值,而且他与主键也是不同的;如果是组合索引,那么列值的组合必须是唯一的;

        1)、创建唯一索引

          create unique index index_name on table_name(column_name(length))

          或者 alter table table_name add unique index index_name on (column_name(length))

          再或者在创建表的时候直接创建索引 create table table_name(id int,title varchar(10),unique index_name(title(length)))

      三、全文索引

        mysql 从3.23.23版本开始支持全文索引和全文检索了,fulltext即全文,fulltext索引仅仅可用于myISAM 表;他们可以从 char 以及 varchar 或 text 列中最为 create table 语句的一部分被创建,或是随后使用 alter table 或 create index 被添加;传经方法和唯一索引是一样的,唯一所以是在 indx 前边用 unique 进行标记的,而全文索引是在 index 前边用 fulltext 进行标记;

      四、单列索引

      五、组合索引

        创建的方法和其他的是一样的,只不过是指定了多个column_name,例如: 

        create index index_name on table_name(name(8),age(3))

  • 相关阅读:
    框架学习之Struts2 第五节 自定义拦截器
    框架学习之Struts2 第四节 文件上传
    2011_7_23 第三次评审
    框架学习之Struts2 第二节 Action的详解
    框架学习之Struts2 第一节 开发环境的搭建和第一个应用开发
    框架学习之Struts2 第七节 国际化
    关于LookUp的总结
    UML自学手册___事务模式——事务与人、地、物
    css合并外边距详解
    开发中的函数相关
  • 原文地址:https://www.cnblogs.com/mufc/p/10577176.html
Copyright © 2011-2022 走看看