1. 创建索引

1.1 创建新表时同时建立索引

语法:

create table table_name[col_name data_type]
[unique|fulltext|spatial][index|key][index_name](col_name[length],...)[asc|desc]

-unique、fulltext、spatial为可选参数,分别表示唯一索引、全文索引、空间索引。只有MyISAM存储引擎支持全文索引、空间索引。

-index与key是同义词。

-index_name也为可选参数,不指定则由MySQL决定。

-length为可选参数,只有字符串类型的字段才能指定索引长度。

示范:

create table book
(
...,
year_publication year not null,
index(year_publication)
);

其它写法:

unique index Uniqidx(id)
...
index ingleidx(name(20))
...
index multiidx(id,name,age)

组合索引可以起几个索引的作用,但是使用时并不是随便查询哪个字段都可以使用索引,而是遵从“最左前缀”:利用索引中最左边的列集来匹配行。比如上面示范中的:index multiidx(id,name,age)索引,索引行中按id/name/age的顺序存放,索引可以搜索下面字段组合:(id,name,age)、(id,name)或者id。如果列不构成索引最左面的前缀,MySQL不能使用局部索引,如:(age)或者(name,age)。

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

语法一:

alter table table_name add [unique|fulltext|spatial] [index|key]
[index_name](col_name[length],...)[asc|desc]

语法二:

create [unique|fulltext|spatial] index index_name on table_name(col_name[length],...) [asc|desc]

不太建议使用语法二,因为它与Oracle的语法相去甚远。

2. 查看索引

show index from table_name\G

3. 删除索引

语法一:

alter table table_name drop index index_name;

语法二:

drop index index_name on table_name;

MySQL 5.6学习笔记(索引的创建与删除)的更多相关文章

  1. Mysql高级操作学习笔记:索引结构、树的区别、索引优缺点、创建索引原则(我们对哪种数据创建索引)、索引分类、Sql性能分析、索引使用、索引失效、索引设计原则

    Mysql高级操作 索引概述: 索引是高效获取数据的数据结构 索引结构: B+Tree() Hash(不支持范围查询,精准匹配效率极高) 树的区别: 二叉树:可能产生不平衡,顺序数据可能会出现链表结构 ...

  2. Mysql学习笔记—索引

    一.什么是索引 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重. 在数据 ...

  3. mySQl数据库的学习笔记

    mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...

  4. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  5. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  6. Bootstrap~学习笔记索引

    回到占占推荐博客索引 bootstrap已经用了有段时间了,感觉在使用上还是比较容易接受的,在开发人员用起来上,也还好,不用考虑它的兼容性,手机,平台,PC都可以有效的兼容. bootstrap官方a ...

  7. MySQL索引的创建、删除和查看

    MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...

  8. docker~学习笔记索引

    回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...

  9. InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移

    系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...

  10. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...

随机推荐

  1. 延迟加载-association来实现

    resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: 如果查询订单并且关 ...

  2. Python学习笔记六:数据库操作

    一:Python操作数据库的流程 二:开发环境准备 1:开发工具PyCharm 2:Python操作mysql的工具:需要安装Python-Mysql Connector,网址:https://sou ...

  3. Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题

    这次新安装了一个MySQL数据库,然后navicat连接数据库一点问题没有. 但是通过Java的jdbc连接却怎么都建立不了连接. 报如下错: 网上找了很久找到了原因: 数据库用的是Mysql8版本, ...

  4. jenkins+maven+junit构建自动化测试,整合junit xml生成直观的测试报告[留存]

    在自动化测试过程中,测试报告最能直观的体现测试的价值,之前一直使用maven+junit来构建我的自动化测试,但这样有几个缺点,一是,不能定时构建自动化任务(也许是我没有找到maven有没有提供这样的 ...

  5. Ubuntu 1604配置安装mysql8.0

    安装步骤: 一.通过APT方式安装 说明:此种方式完全参考官方提供的教程https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/. 注意:通过A ...

  6. 转:Irrlicht 0.1引擎源码分析与研究(一)

    目录(?)[-] 主要技术特性 引擎概览 Irrlicht的窗口管理   Irrlicht引擎主要是由一个名叫Nikolaus Gebhardt奥地利人所设计,是sourceforge上的一个开源项目 ...

  7. PL/SQL Developer 中文乱码问题的解决

    分三个步骤解决: 1.检查server编码:         运行SQL语法: select * from v$nls_parameters;   2.设置本地client编码:        进入 ...

  8. Struts1与Struts2的那些事

    一.概述 Struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的全部请求.Struts1框架有3个重要组成部分:Action.ActionForm和Act ...

  9. 用@resource注解方式完成属性装配

    注入依赖对象可以采用手工装配或自动装配,在实际应用中建议使用手工装配,因为自动装配会产生未知情况,开发人员无法预见最终的装配结果. 1 需要修改xml文件的以下信息.    加入下列红色部分的4行 & ...

  10. vijos:旅行家的预算[贪心]

    题目 Problem description 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1.汽车油箱的容量C(以升为单位).每升汽油能行驶 ...