mysql:索引和事务

索引
索引就类似于书籍的目录,通过索引,可以提高表中数据的查询速率;
作用:快速定位,检索数据;
使用场景:
(1)适用于海量数据进行条件查询;
(2)适用于查询经常的依据列,这些列一定很少进行修改操作;
(3)索引会占用额外的磁盘空间;
尽量避免给不定长字符串的字段设置索引字段;
索引的使用
在创建主键约束、唯一约束、外键约束时,会自动创建对应列的索引;
1、查看索引:
如图为查看学生表已有的索引(表在上一篇博客已经提到)
在这里插入图片描述
2、创建索引,对于非主键、非唯一约束、非外键的字段,可以创建普通索引,例如给班级表中的name字段创建索引
在这里插入图片描述
3、删除索引
删除前面创建的索引,如图:
在这里插入图片描述

事务
事务就是逻辑上的操作原子性,操作要么一次完成,要么就不做;
例如我们此时创建一个account表,如图:
在这里插入图片描述
插入数据,例如:
在这里插入图片描述
在这里插入图片描述
此时小偷从阿里巴巴的账户上偷了100元,即:
在这里插入图片描述
在这里插入图片描述
假设在执行第一句SQL语句时,出现了网络错误,或者数据库挂掉了,阿里巴巴的账户会减少100元,但是小偷的账户却没有增加的金额,因此要使用事务来控制

事务的使用
1、开启事务:start transaction;如图:
在这里插入图片描述
2、执行SQL语句,我们执行如下:
在这里插入图片描述
3、回滚或者提交:rollback/commit,rollback就是全部失败,commit就是全部成功,例如:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/longhuu/article/details/108456796