MySQL ----->索引和事务(基础)
2022/1/9 2:04:12
本文主要是介绍MySQL ----->索引和事务(基础),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一,索引
1.概念
- 索引是一种特殊的文件,包含着对数据表里所有记录的引用指针
- 可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现
- 索引保存的数据结构主要为B+树,及hash的方式
2.作用
- 数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。
- 索引所起的作用类似书籍目录,可用于快速定位、检索数据。
- 索引对于提高数据库的性能有很大的帮助
3.使用场景
要考虑对数据库表的某列或某几列创建索引,需要考虑以下几点:
- 数据量较大,且经常对这些列进行条件查询
- 该数据库表的插入操作,及对这些列的修改操作频率较低
- 索引会占用额外的磁盘空间
满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。反之,如果非条件查询列,或经常做插入、修改操作,或磁盘空间不足时,不考虑创建索引
4索引的使用
- 查看索引
show index from 表名;
- 创建索引
--对于非主键、非唯一约束、非外键的字段,可以创建普通索引 create index 索引名 on 表名(字段名);
- 删除索引
drop index 索引名 on 表名;
5.使用索引的说明
(1)对于插入、删除数据频率高的表,不适用索引
(2)对于某列修改频率高的,该列不适用索引
(3)通过某列或某几列的条件查询频率高的,可以对这些列创建索引
二,事务
1.概念
- 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败
- 在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务
2.使用
(1)开启事务:start transaction;
(2)执行多条SQL语句
(3)回滚或提交:rollback/commit;
说明:rollback即是全部失败,commit即是全部成功
3.事务的四大特性
特性(acid):原子性,一致性,持久性,隔离性
原子性:主要是对应一组数据的处理(主要也是更新),要么全部成功,要么全部失败
持久性:事务提交后,数据是存在硬盘中的,并且是持久化
一致性:在一个事务里,多次查询到的数据是一样的
隔离性:多个事务中的查询/修改是相互隔离开的,并且在一个事务没有提交或回滚前,修改 的数据,只有自己能看到
这篇关于MySQL ----->索引和事务(基础)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南