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 ----->索引和事务(基础)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程