mysql事务索引_MySQL索引与事务

MySQL索引与事务

1.索引的分类

普通索引:这是最基本的索引类型,而且没有唯一性之类的限制

唯一性索引:与普通索引基本相同,区别在于:索引列的所有值都只能出现一次,即必须唯一,但可为空。

主键:是一种特殊的唯一索引,必须指定为PRIMARY KEY,具有唯一性的同时不能为空

全文索引:MySQL从3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的类型为FULLTEXT,全文索引可以在``VARCHAR或者TEXT`类型的列上创建。贴吧的文本内容,和一些小型的网站网页内容,存放在数据库中即为全文索引模式。

单列索引与多列索引:索引可以是单列上创建的索引,也可以是 列上创建的索引。

2.索引的作用

设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率,特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成千倍。

可以降低数据库的lo成本, 并且索引还可以降低数据库的排序成本。

通过创建唯一-性索引保证数据表数据的唯一性,可以加快表与表之间的连接。

在使用分组和排序时,可大大减少分组和排序时间。

3.创建,查看,删除索引的方法

3.1索引的创建

已知一个表内信息数据如下

mysql事务索引_MySQL索引与事务_第1张图片

3.1.1创建普通索引(没有唯一性限制)

900351e37c4e7617ab1ecb93dfcee025.png

(1)示例如下:

ce554296414d7f8b8fe985c980832014.png

查看结果:

1760ca113dd6dabfd2531cca88c40186.png

(2)示例如下:

c9b09e9db1e026a72ea08e9ff9a7b9b3.png

查看结果:

33e9308f52ca485d0b85c640c9826e1d.png

3.1.2创建唯一性索引(必须唯一,但可为空)

153ef6bae0df5dad011a7b542e975517.png

示例如下:

4009113556b05c2b7d47f4e590e48cfd.png

查看结果:

bda450b3531dbaa27826aa55a4852b43.png

3.1.3创建主键索引

ee7d47dcd79de17337f6715e9fbbf49b.png

若新创表时忘记创建主键,示例如下:

5d97df7fb68ee7bad9e2be24d03e5348.png

查看结果:

37b7e3877e402cfeb1fee56da848e498.png

3.2索引的查看

3.2.1索引的查看index的使用

(1)示例如下:

38bb1b90f3670f2a5b8868755f01b9de.png

(2)示例如下:

mysql事务索引_MySQL索引与事务_第2张图片

3.2.2索引的查看keys的使用

(1)示例如下:

361345b51ff26f7cf3a38879b82138fc.png

(2)示例如下:

mysql事务索引_MySQL索引与事务_第3张图片

3.3索引的删除

mysql事务索引_MySQL索引与事务_第4张图片

已知有以下索引:

3e257805c3d4e7457fd823253c2b13cc.png

(1)示例如下:

c3e7978e4c0ceec5e9b55fa7ab591023.png

查看结果:

7618acacfe0f778c857a615b1de74cfb.png

(2)示例如下:

65f6848cef62fdc849a896bc19d20dbc.png

查看结果:

4b02a3940d12ac8830e59c585ac996d5.png

(3)示例如下:

14fe1c7ded75a4e9c402c45deed07b9e.png

查看结果:

fadeb9ad017cd63875b9db6759e5d151.png

4.事务ACID的特点

mysql事务索引_MySQL索引与事务_第5张图片

原子性:事务是一个完整的操作,事务的各元素是不可分的(原子的),事务的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。

一致性:当事务完成时,数据必须处于一致状态:在事务开始之前,数据库汇总存储的数据处于一致状态;在正在进行的事务中,数据可能处于不一致的状态;当事务完成时,数据必须再次回到已知的一致状态。

隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应该以任何方式依赖于或影响其他事务。修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据。

持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。一旦事务被提交,事务的效果会被永久地保留在数据库中。

5.事务的操作

5.1命令简介

39fa256bfc0f25a7246cb7b7514529f2.png

2ddbe1cb23e2cf941663229220aded32.png

1ff3f19ef945a875f2965b28883dc8e7.png

5.2实际演练(为实验效果,开启两个窗口,实为一台虚拟机)

已知表内信息数据如下

mysql事务索引_MySQL索引与事务_第6张图片

(1)窗口①示例如下:

994da478f78369214de5318eefd741c6.png

28d5e55ff0bc1b9973dcd108e0dbcdeb.png

mysql事务索引_MySQL索引与事务_第7张图片

窗口②查看结果:

mysql事务索引_MySQL索引与事务_第8张图片

窗口①示例如下:

cdeaaf0db3bb5d7b3daa0ffb6da56ccd.png

窗口②查看结果:

mysql事务索引_MySQL索引与事务_第9张图片

(2)窗口①示例如下:

24983f50a1eb825cb42c8020561a1d13.png

021706c4e5b6c0ef7428e33f95224037.png

mysql事务索引_MySQL索引与事务_第10张图片

窗口②查看结果:

mysql事务索引_MySQL索引与事务_第11张图片

窗口①示例如下:

4a7a8fe7bcd703ef1ca4f3ccd17f92d5.png

窗口②查看结果:

mysql事务索引_MySQL索引与事务_第12张图片

5.3禁止自动提交

默认情况下MySQL的事务是自动提交的,当sql语句提交时事务便自动提交。

(1)窗口①示例如下(关闭自动提交):

mysql事务索引_MySQL索引与事务_第13张图片

20f8f88c49f21711d8f354ef73629e6b.png

mysql事务索引_MySQL索引与事务_第14张图片

窗口②查看结果:

mysql事务索引_MySQL索引与事务_第15张图片

(2)窗口①示例如下(开启自动提交):

mysql事务索引_MySQL索引与事务_第16张图片

mysql事务索引_MySQL索引与事务_第17张图片

窗口②查看结果:

mysql事务索引_MySQL索引与事务_第18张图片

你可能感兴趣的:(mysql事务索引)