Mysql索引的创建与删除
1. 创建索引
1.1 使用Alter创建索引
- 1 添加主键索引
特点:数据列不允许重复,不能为null,一张表只能有一个主键;Mysql主动将该字段进行排序
ALTER TABLE 表名 ADD Primary key (col);
- 添加唯一索引
特点:索引列是唯一的,可以null;Mysql主动将该字段进行排序
ALTER TABLE 表名 ADD unique <索引名> (col1, col2, ...col3);
- 添加普通索引
特点:添加普通索引, 索引值不唯一,可为null
Alter table 表名 ADD index <索引名> (col1, col2, ...,);
- 添加全文索引
特点:只能在文本类型CHAR,VARCHAR, TEXT类型字段上创建全文索引;
ALTER TABLE 表名 ADD Fulltext <索引名> (col)
- 添加多列索引
特点:多列是唯一的
ALTER TABLE 表名 ADD UNIQUE (col1, col2, ..., )
1.2 使用Create创建索引
语法:create index 索引名 on 表名(字段)
- 添加唯一索引
create index 索引名 on table 表名(col1, col2, ..., )
- 添加普通索引
create unique index 索引名 on table 表名(col1, col2, ..., )
1.3 两种创建索引方式的区别
Alter可以省略索引名。如果省略索引名,数据库会默认根据第一个索引列赋予一个名称;Create必须指定索引名称。
Create不能用于创建Primary key索引;
Alter允许一条语句同时创建多个索引;Create一次只能创建一个索引
ALTER TABLE 表名 ADD Primary key (id), ADD index <索引名> (col1, col2, ...,)
1.4 索引执行效率分析
主键索引 > 唯一性索引 > 普通索引
2 删除索引
- 第一种方式
drop index 索引名 on 表名;
- 第二种方式
Alter table 表名 drop index 索引名;
- 第三种方式
Alter table 表名 drop primary key
分析:
- 第三种方式只在删除primary key中使用。因一个表只能存在一个primary key索引,则不需要指定索引名;
- 对于第三种方式,若没有创建primary key索引,但表中具有一个或多个unique索引,则默认删除第一个unique索引;
- 若删除表中的某列,索引会受到影响。对于多列组合的索引,如果删除其中的某一列,则该列会从对应的索引中被删除(删除列,不删除索引);多删除组成索引的所有列,则索引将被删除(不仅删除列,还删除索引)。
Mysql索引的创建与删除的更多相关文章
- MySQL索引的创建、删除和查看
MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...
- MySQL查看、创建和删除索引的方法
本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别 ...
- ElasticSearch基本操作(安装,索引的创建和删除,映射)
ElasticSearch基于Lucene的搜索服务器,支持分布式,提供REST接口,可用于云计算,可以实现实时搜索,开源免费.这时很官方的一句话,在使用之前,我们简单的介绍一下安装过程.在官网下载之 ...
- MySQL索引的创建,查看,删除
在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TABLE用来创建普通索引.UN ...
- MySQL(一)索引的创建和删除
索引是存储引擎用于快速找到记录的一种数据结构,这是索引的基本功能. 索引对于良好的性能非常关键.尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要.接下来将讲述如何创建.查看和删除索引. 索引分 ...
- SQLServer、Mysql、Oracle 创建、删除用户和授予用户权限
SQLServer 1.创建用户 CREATE LOGIN [用户名称] WITH PASSWORD='用户密码', DEFAULT_DATABASE=[默认数据库名称], CHECK_EXPIRAT ...
- MYSQL索引的建立、删除以及简单使用
一.前期数据准备 1.建表 CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAUL ...
- MySQL 5.6学习笔记(索引的创建与删除)
1. 创建索引 1.1 创建新表时同时建立索引 语法: create table table_name[col_name data_type] [unique|fulltext|spatial][in ...
- mysql 查询指定数据库所有表, 指定表所有列, 指定列所有表 所有外键及索引, 以及索引的创建和删除
查询指定 数据库 中所有 表 (指定数据库的,所有表) // 可以把 TABLE_NAME 换成 * 号, 查看更丰富的信息 SELECT TABLE_NAME FROM information_sc ...
随机推荐
- 死磕Spring之AOP篇 - Spring AOP注解驱动与XML配置
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...
- Day02_14_可变长参数
Java 可变参数 一个方法中只能有一个可变参数 它必须是该方法的最后一个形参(必须放在参数列表最后一个的位置) 传递给可变参数的数据类型必须一致 实例 public class 可变长参数 { pu ...
- 模拟退火算法(1)Python 实现
1.模拟退火算法 模拟退火算法借鉴了统计物理学的思想,是一种简单.通用的启发式优化算法,并在理论上具有概率性全局优化性能,因而在科研和工程中得到了广泛的应用. 退火是金属从熔融状态缓慢冷却.最终达到能 ...
- 【Nacos】Springboot整合nacos配置中心(一)
一.本地Nacos安装环境: Win7 ,JDK8 ,maven3.5 1.下载安装包 2.启动nacos服务,bin文件下下面startup.cmd 3.访问 http://localhost:88 ...
- hdu4403暴力搜索
题意: 给你一个数字串,让你在里面添加一个=和若干个+,使等式成立. 思路: lmax最大是15,直接暴搜,无压力,关键是判重,要在答案的时候判重,一开始在进队列之前判的,各种wa ...
- 汇编环境搭建(vs2010(2012)+masm32)
我本地使用的环境VS2012(2010)+MASM32,下面的图是在网上找的几个博客拼在一起的,用的是vs2010,但是并不影响.(所有文件我都打包好了,如果懒的话可以直接下载这个包)地址是:http ...
- vue-axios的总结及项目中的常见封装方法。
前言 我们知道 vue 2.0版本开始推荐使用 axios 来完成前端 ajax 请求,axios 是一个基于Promise 的 http 库,可以用在浏览器和 node.js 中,axios 成为v ...
- Day003 数据类型
数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(java.c++.c#) 弱类型语言 与强类型语言定义相反(javaScript) Java的数据类型 基本 ...
- 解决移动端300ms延迟fastclick
为什么要使用fastclick 移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击.为了能够立即响应用户的点击事件,才有了fastclick. f ...
- Mac OSX系统homebrew update Fetching failed问题解决方案
1. brew update error (i) 问题出现及现象描述 昨天换了台电脑,有些软件需要重新安装或更新一下,遇到了下面的问题 cv@xys-MacBook-Pro ~ % brew upda ...