一、本机环境

二、索引的创建删除

三、唯一索引的创建和删除

一、本机环境

系统环境:linux centos 7.2

mysql版本:mysql-5.7.9

安装目录:/application/mysql

二、索引的创建和删除

1、索引的优缺点

优点:索引就像是目录一样,在字段上加了索引,那么以索引列为查询条件时,可以加快查询数据的速度

缺点:降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。更新表时,MySQL不仅要保存数据,还要保存一下索引文件

注意事项:创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。

2、创建索引

1)建表时直接创建

格式:

CREATE TABLE (

ID INT NOT NULL,

col_name VARCHAR(16) NOT NULL,

INDEX index_name (col_name(length))

);

例子:

create table student (

id int not null,

name varchar(16) not null,

age tinyint(2),

dept varchar(16),

index index_name(name(8))

);

2)创建

格式:CREATE INDEX index_name ON tbl_name (index_col_name,...)

例子:create index index_name on student (name (8))

3)修改表结构创建

格式:ALTER TABLE tbl_name ADD INDEX index_name (index_col_name,...)

例子:alter table student add index index_name (name)

2、删除索引

格式:DROP INDEX index_name ON tbl_name

例子:drop index index_name on student

格式:ALTER TABLE tbl_name DROP INDEX index_name (index_col_name,...)

例子:alter table student drop index index_name

三、唯一索引的创建、删除

特点:索引列的值必须唯一,但允许有空值

1、创建表的时候直接指定

格式:

CREATE TABLE (

ID INT NOT NULL,

col_name VARCHAR(16) NOT NULL,

UNIQUE index_name (col_name(length))

);

例子:

create table student (

id int not null,

name varchar(16) not null,

age tinyint(2),

dept varchar(16),

unique index_name(name(8))

);

2、创建

格式:CREATE UNIQUE INDEX index_name ON tbl_name (index_col_name,...)

例子:create unique index un_dept on student(dept);

3、修改表时创建

格式:ALTER TABLE tbl_name ADD UNIQUE INDEX index_name (index_col_name,...)

例子:alter table student add unique index index_dept (dept)

4、删除

格式:DROP INDEX index_name ON tbl_name

例子:drop index index_dept on student

格式:ALTER TABLE tbl_name DROP INDEX index_name

例子:alter table student drop index un_dept

小技巧:在创建索引的时候可以先查看该列有多少唯一值,然后创建索引

SELECT COUNT (DISTINCT col_name) FROM tbl_name

mysql索引 删除和创建_mysql索引和唯一索引的创建和删除相关推荐

  1. mysql两列唯一索引吗_mysql多字段唯一索引

    项目中需要用到联合唯一索引: 例如:有以下需求:每个人每一天只有可能产生一条记录:处了程序约定之外,数据库本身也可以设定: 例如:user表中有userID,userName两个字段,如果不希望有2条 ...

  2. telephone 为空 唯一索引_记一次线上唯一索引失效没有起效的场景

    背景描述:我们系统A做远程在线接口提供给B系统调用,每次的请求参数中都带有幂等单号用来做幂等校验,幂等单号对应的字段是不可空且唯一的.由于对应的业务表线上已有数据,这个幂等字段数据新加的字段,所以要做 ...

  3. mysql hash创建_Mysql自适应哈希索引(Adaptive Hash Index)创建的条件

    官方文档: If a table fits almost entirely in main memory, a hash index can speed up queries by enabling ...

  4. mysql建表2个索引是啥意思_Mysql建表与索引使用规范详解

    本篇文章是对Mysql建表和索引使用规范进行了详细的分析介绍,需要的朋友参考下 一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默 ...

  5. mysql 线上加索引_mysql手札,唯一索引引发的线上事故

    昨天把一个数据表的字段从普通索引,修改成为了唯一索引.准备早早下班的时候,突然发现数据库的内存命中率从98%下降到了48%,导致大量的任务处于阻塞状态,整个系统也阻塞了. 其实这个就是普通索引和唯一索 ...

  6. mysql覆盖索引二次查找_mysql中关于覆盖索引的知识点总结

    如果一个索引包含(或覆盖)所有需要查询的字段的值,称为'覆盖索引'. 覆盖索引是一种非常强大的工具,能大大提高查询性能,只需要读取索引而不需要读取数据,有以下优点: 1.索引项通常比记录要小,所以My ...

  7. null索引表键值_MySQL 的B+树索引

    一.B+树索引概述 索引是应用程序设计和开发的一个重要方面.若索引太多,应用程序的性能可能会受到影响(需维护索引的结构和数据):而索引太少,对查询性能又会产生影响. 二叉树,左子树的键值总是小于根的键 ...

  8. Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  9. mysql索引结构树高度_MYSQL的B+Tree索引树高度如何计算

    前一段被问到一个平时没有关注到有关于MYSQL索引相关的问题点,被问到一个表有3000万记录,假如有一列占8位字节的字段,根据这一列建索引的话索引树的高度是多少? 这一问当时就被问蒙了,平时这也只关注 ...

  10. mysql 更改建表语句_MySql:如何通过Sql语句创建表,更改表?,这几步你要了解...

    mysql在网站开发中,越来越多人使用了,因为方便部署,方便使用. 我们在平时使用中,通常都是通过客户端软件去创建表和更改表,比如用 Navicat.很多人都不会用sql语句去创建表,或者语法忘记了. ...

最新文章

  1. Akka系列(六):Actor解决了什么问题?
  2. Android初始化过程
  3. StorefrontModule和B2CStorefrontModule的区别
  4. Python基础--Python3基础语法
  5. 显微镜自动聚焦原理是什么_什么是共聚焦显微镜?你了解过共聚焦显微镜吗?...
  6. Who Gets the Most Candies? POJ - 2886 (线段树)
  7. 解决:安装Widget插件提醒已安装却不见界面
  8. Java实现简单计算器
  9. 基于粒子滤波的定位算法 ——原理、理解与仿真
  10. 互联网进入网盘新时代
  11. js+php+大转盘,H5 Canvas抽奖大转盘代码实现及总结
  12. 计算机CPU高温,电脑cpu温度高怎么办?别怕,三招搞定
  13. http://www.ha97.com/
  14. unity中导入的角色没有Avatar
  15. 你没玩过的全新版本!Win10这些骚操作你知多少
  16. 100V降压图纸 电路最简单的高压降压解决方案
  17. linux基础指令下
  18. 高数知识点整理——有理分式的不定积分(多项式的除法)
  19. cisco asa(asa5510 设置)防火墙的配置详解
  20. Failed to shutdown database console gracefully

热门文章

  1. 【英语学习】【Level 08】U02 Movie Time L1 Let's talk about movies
  2. 【英语学习】【Level 07】U03 Amazing wonders L2 A global city
  3. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (17) - 互联环路LLC
  4. 存储过程 while is null_java 自动化 使用存储过程构造测试数据
  5. mysql @符号_quot;Incorrect string value quot; mysql 乱码 my插入emoji Yii2
  6. 纯前端开发案例:用 SpreadJS 搭建信息系统软件开发平台
  7. 《需求工程》阅读笔记之三
  8. Day05 egrep正则表达式sed
  9. Android1 按钮
  10. 模式识别之聚类算法k-均值---k-均值聚类算法c实现