当前位置: 首页 > news >正文

mysql五种索引类型---实操版本

背景

最近学习了Mysql的索引,索引对于Mysql的高效运行是非常重要的,正确的使用索引可以大大的提高MySql的检索速度。通过索引可以大大的提升查询的速度。不过也会带来一些问题。比如会降低更新表的速度(因为不但要把保存数据还要保存一下索引),占用磁盘空间等问题。

前期准备

创建一个一百万条数据的表

1.创建一个表,如果有测试的表也可以用(把主键id设置为自增)
2.如果给字段添加的值有中文 需要将字符集改为UTF-8的格式
3.保存存储过程,用来添加100w条数据(字段和数据可以自己修改)
delimiter KaTeX parse error: Expected 'EOF', got '#' at position 2: #̲ 定义结束符 drop pro…

4.调用存储过程来添加100w条数据
call addTestData();

执行的过程中会比较慢,大家可以使用select语句 查看创建了多少条数据了 select count(id) from test

实操过程

主键索引 primary

mysql提前给我们创建好了,不需要我们自己创建主键索引。

唯一索引 unique

对应语句

查询语句:
SELECT * FROM test where user_name ='姓名_19'
创建索引语句:
create unique index username ON test(user_name)

执行效果:

在这里插入图片描述
在这里插入图片描述

普通索引

对应语句

查询语句
SELECT * FROM test WHERE `password`='密码:55'
创建普通索引语句
create index password on test( password )

执行效果

在这里插入图片描述
在这里插入图片描述

全文索引 fulltext

对应语句

查询语句
SELECT * FROM test where text LIKE '%郝立琢'
创建全文索引语句
create fulltext index text on test(text);
创建全文索引后的查询语句
select * from test where match(text) against('郝立琢');

执行效果

在这里插入图片描述
在这里插入图片描述

组合索引

对应语句

查询语句
SELECT * FROM `test` where user_name="姓名_10" AND `password`="密码:10"
创建索引
create index username、password on test (user_name, password)

执行效果

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/31463.html

相关文章:

  • 【微信小程序】-- 页面导航 -- 编程式导航(二十三)
  • 路由追踪工具 traceroute 使用技巧
  • NGINX学习笔记 - 一篇了解NGINX的基本概念(一)
  • Spring-Cloud-Gateway的过滤器的执行顺序问题
  • Android性能优化的底层逻辑
  • Gradle+SpringBoot多模块开发
  • Qt 之 emit、signals、slot的使用
  • 每日学术速递3.6
  • C# 将对象转换成字节数组(二进制数据)
  • 巾帼绽芬芳 一起向未来(下篇)
  • 代码还原小试牛刀(一):魔改的MD5
  • 6. 找大佬
  • 【CSS】标签显示模式 ① ( 标签显示模式 | 块级元素 )
  • hive真实表空间大小统计
  • 微信小程序引入Vant UI步骤
  • 【震撼发布】《致敬未来的攻城狮计划》| 文末赠书3本
  • 8.装饰者模式
  • GIT基础常用命令-1 GIT基础篇
  • 华为OD机试题,用 Java 解【数列描述】问题
  • 2022掉队的“蔚小理”,按下了兔年加速键
  • 【NLP相关】attention的代码实现
  • 凌恩生物资讯
  • Leetcode 148. 排序链表(二路归并)
  • 记录Paint部分常用的方法
  • ArrayList集合底层原理
  • 内网部署swagger快解析映射方案发布让外网访问
  • 全网最全整理,自动化测试10种场景处理(超详细)解决方案都在这......
  • 【c++】指针的学习
  • 华为OD机试题,用 Java 解【水仙花数】问题
  • 【Linux】-- 基本指令