zoukankan      html  css  js  c++  java
  • mysql-9索引

    mysql索引的建立对于mysql的高效运行是很重要的,索引可以大大提高mysql的检索速度。
    索引分为单列索引和组合索引。
    单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。
    组合索引,即一个索引包含多个列。
    创建索引时,需要确保该索引是应用在sql查询语句的条件(一般作为where字句的条件)。
    实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
    索引的优势:合理的设计且使用索引,可以提高查询小路。
    缺点:索引会降低更新表的速度,如对表进行insert、update、delete。因为更新表是,mysql不仅要保存数据,还要保存以下索引文件。建立索引会占用磁盘空间的索引文件。

    普通索引

    创建索引有3种方法

    • 1.直接创建:create index 索引名 on 表 (列(length));
    • 2.通过修改表结构创建: alter table 表 add index 索引名(列(length));
    • 3.创建表的时候直接指定: create table 表名(列1, 列2, 列3, 索引);

    唯一索引

    唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。创建方式:

    • 1.创建索引:create unique index 索引 on 表(列(length));
    • 2.修改表结构:alter table 表 add unique index 索引 (列(length))
    • 3.创建表的时候指定:create table 表(列1, 列2, unique 索引(列(length)) )

    索引类型

    • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。

    • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。

    • ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。

    • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。

    删除索引

    • 1.使用drop子句:drop index 索引名 on 表;
    • 2.使用alter语句:alter table 表 drop index 索引;

    查看当前表的索引

    show index from 表名;

    菜鸟教程 索引地址

  • 相关阅读:
    使用Dubbox构架分布式服务
    Elasticsearch搜索之explain评分分析
    Elasticsearch搜索之most_fields分析
    Elasticsearch搜索之cross_fields分析
    Elasticsearch搜索之best_fields分析
    Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)
    ibatis2.3中#和$符号的区别(转)
    读文章有感
    图片bmp格式转换为jpg格式
    IndexOf、LastIndexOf、Substring的用法
  • 原文地址:https://www.cnblogs.com/csj2018/p/9962835.html
Copyright © 2011-2022 走看看