Mysql索引类型介绍

更新于:2023-06-19

1.定义索引(index)是帮助Mysql高效获取数据的数据结构2.分类主键索引(Primary key)唯一的标识,主键不可重复,一个表中只能有一个列作为主键唯一索引(Unique key)不能重复,一个表中多个列可以标识为唯一索引常规索引(key/index)默认的索引,可以重复,多个列可以标识为常规索引全文索引(FullText)一般为MyIsAmy引擎才支持3.索引原则索引不是越多越好:不

1.定义
索引(index)是帮助Mysql高效获取数据的数据结构

2.分类

  • 主键索引(Primary key)
    唯一的标识,主键不可重复,一个表中只能有一个列作为主键

  • 唯一索引(Unique key)
    不能重复,一个表中多个列可以标识为唯一索引

  • 常规索引(key/index)
    默认的索引,可以重复,多个列可以标识为常规索引

  • 全文索引(FullText)
    一般为MyIsAmy引擎才支持

3.索引原则

  • 索引不是越多越好:
    不要对经常变动的列增加索引,应该对经常查询的列增加索引,数据量少的表不需要加索引

4.常用操作

show index from `XXX` -- 查看表XXX索引
alter table `XXX` add fulltext index `xxxx` (`xxxx`) --表XXX增加一个全文索引,索引名为`xxxx`,在字段(`xxxx`)中增加:索引名(字段)
alter table `XXX` add unique index `xxxx` (`xxxx`) --表XXX增加一个唯一索引,索引名为`xxxx`,在字段(`xxxx`)中增加:索引名(字段)
alter table `XXX` add index `xxxx` (`xxxx`) --表XXX增加一个常规索引,索引名为`xxxx`,在字段(`xxxx`)中增加:索引名(字段)
drop index `xxxx` on XXX --删除表XXX中的名字为xxxx的索引
explain select * from XXX match(xxxx) against ('x') --查找字段xxxx带有x的数据

5.插入大量数据测试示例

DELIMITER $$ --mysql自定义函数起始标志
CREATE FUNCTION insert_data() --创建一个sql函数,返回值为int
RETURNS INT

BEGIN
	DECLARE NUM INT DEFAULT 50000;
	DECLARE I INT DEFAULT 0;
	
	WHILE I < NUM DO
		insert into test (`name`, `phone_no`, `pass_word` ) values (concat('用户',I), concat('18',floor(rand()*((999999999-100000000)+100000000))),uuid());
		SET I = I+1;
		END WHILE;
		RETURN I;
END;

SELECT insert_data();

没有索引前,执行查询操作:

select * from test where name = '用户999999';

耗时:
image

慢查询分析:

select * from test where name = '用户999999';

image

增加索引后,执行查询操作:

alter table test add unique index `name` (`name`);
select * from test where name = '用户999999';

耗时:
image

慢查询分析:

select * from test where name = '用户999999';

image

  • 上一篇:JDBC访问Mysql示例
  • 下一篇:第七次作业
  • 相关文档

    推荐软件

    网络调试专用工具GET/POST支持HTTPS 支持自定义请求头和POST数据
    九戒网络助手

    网络调试专用工具GET/POST支持HTTPS 支持自定义请求头和POST数据

    直接下载

    一键屏幕取色工具绿色版 网页取色建站必备神器
    屏幕取色器

    一键屏幕取色工具绿色版 网页取色建站必备神器

    直接下载

    高性能快速去除TXT文件中的重复文本行,支持两个文本合并后去重
    TXT合并去重工具

    高性能快速去除TXT文件中的重复文本行,支持两个文本合并后去重

    直接下载

    一键批量采集关键词,长尾词,下拉词,相关搜搜词
    关键词采集器 [相关/下拉/长尾]

    一键批量采集关键词,长尾词,下拉词,相关搜搜词

    直接下载

    TDK一键采集网站标题/关键词/描述支持unicode解码
    网站TDK采集器

    TDK一键采集网站标题/关键词/描述支持unicode解码

    直接下载

    多线程批量扫描指定服务器开放了哪些端口
    批量端口扫描工具

    多线程批量扫描指定服务器开放了哪些端口

    直接下载

    输入关键词批量搜索网站,支持导出为txt和excel表格,支持导出TDK
    关键词网站域名采集器

    输入关键词批量搜索网站,支持导出为txt和excel表格,支持导出TDK

    直接下载

    域名采集器,高速有效域名网址采集工具
    域名采集器

    域名采集器,高速有效域名网址采集工具

    直接下载

    站群推广利器SEO自动外链引蜘蛛工具
    SEO自动外链工具

    站群推广利器SEO自动外链引蜘蛛工具

    直接下载

    网址访问状态检查,网站漏洞扫描文件目录扫描
    网址批量验证器

    网址访问状态检查,网站漏洞扫描文件目录扫描

    直接下载

    批量将网址中的占位符替换成URL编码的关键词,保存导出最终网址列表
    网址关键词合并工具

    批量将网址中的占位符替换成URL编码的关键词,保存导出最终网址列表

    查看详情

    网站统计平台广告引流工具CNZZ/51.LA/百度统计通用
    网站统计平台广告引流

    网站统计平台广告引流工具CNZZ/51.LA/百度统计通用

    查看详情

    百度网盘批量分享工具,一键自动分享文件记录链接和密码
    百度网盘批量分享

    百度网盘批量分享工具,一键自动分享文件记录链接和密码

    查看详情

    Excel表格导入织梦文章,支持自定义模型和字段
    Excel导入织梦系统

    Excel表格导入织梦文章,支持自定义模型和字段

    查看详情

    txt文档批量导入织梦CMS文章工具
    txt导入织梦文章

    txt文档批量导入织梦CMS文章工具

    查看详情

    WORD文档带图片和格式发布到织梦CMS文章
    WORD文档导入织梦

    WORD文档带图片和格式发布到织梦CMS文章

    查看详情

    推荐专题