MySQL索引事务

索引

索引 类似于java中的下标 含有共同的含义,但在数据库中的含义是目录,具体就是对表中的每一列或者多列创建索引,我们知道一个大公司的数据库存在的数据量是十分庞大的(千万级别!!!),在查询某个具体的数据利用select是很麻烦的,select 的底层原理是遍历数据库中的每个表每个列来锁定数据的,时间效率非常底 时间复杂度为O(N)级别 ,相比于索引就慢了许多.索引类似于书籍的目录,可用于快速定位,检索数据

语法

索引是MySQL中一种特殊的文件,因此有专门的语法

  1. 查看索引
  2. 创建索引
  3. 删除索引
sql 复制代码
1. show index from 表名
3. create index 索引名 on 表名
4. drop index 索引名 on 表名

另外,再创建表的时候指定某个列或者多个列 为primary key,foreign key 或unique的时候 此时系统会自动为这些列带上索引,同时在进行删除的时候不能删除上述索引

索引背后所用的数据结构是b树和b+树.

总结

引入索引,就相当于给一本书加上了目录,有了目录就能快速的查询你需求的页码,就提高了查询的速度,却消耗了额外的硬盘空间,这是个小问题,硬盘的成本是非常低的,所以基本上不做考虑.但是又引来了另一个麻烦,会影响到增删改的效率 ,一旦进行了此操作,索引的指向就需要同步的更新维护,此时就要调整索引.实际开发中,也有很多业务场景在查询的频率上比增删改的频率高的很多,所以索引确实一个不错的选择

相关推荐
JIngJaneIL10 分钟前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
晚风吹人醒.17 分钟前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Y***985136 分钟前
DVWA靶场通关——SQL Injection篇
数据库·sql
Yawesh_best38 分钟前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
蒋士峰DBA修行之路40 分钟前
实验二十八 SQL PATCH调优
数据库·sql·gaussdb
I***t7161 小时前
一条sql 在MySQL中是如何执行的
数据库·sql·mysql
一 乐1 小时前
应急知识学习|基于springboot+vue的应急知识学习系统(源码+数据库+文档)
数据库·vue.js·spring boot
vx_dmxq2112 小时前
【PHP考研互助系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·考研·微信小程序·小程序·php
微学AI2 小时前
内网穿透的应用-突破局域网束缚,MongoDB 远程访问使用cpolar原来可以这么简单
数据库·mongodb
vx_vxbs664 小时前
【SSM电影网站】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·小程序·php·idea