MySQL事务,索引

本文详细解读MySQL事务的原子性、一致性、隔离性和持久性,演示如何设置事务和使用setautocommit,同时介绍各类索引及其在提升查询效率中的关键作用,包括主键索引、唯一索引和全文索引的选择与管理。
摘要由CSDN通过智能技术生成

MySQL事务,索引

  1. MySQL的事务处理

    ​ 事务就是将一组SQL语句放在同一批次内去执行

    ​ 如果一个语句出错,则该批次内所有的SQL语句都将被取消执行

    ​ 注意:MySQL事务处理只支持InnoDB和BDB数据表类型

  2. 事务必须具备以下四个原则,简称ACID属性

    ​ 原子性(Atomicity)

    ​ 一致性(Consistency)

    ​ 隔离性(Isolation)

    ​ 持久性(Durability)

  3. MySQL的事务实现方法

    ​ set autocommit 使用set语句来改变自动提交模式

    ​ set autocommit=0; #关闭自动提交模式

    ​ set autocommit=1; #开启自动提交模式

    ​ 注意:MySQL中默认是自动提交,使用事务时应该先关闭自动提交

    ​ start transaction 开始一个事物,标记事务的起始点

    ​ commit 提交一个事务给数据库

    ​ rollback 将事务回滚,数据回到本次事务的初始状态

    ​ set autocommit=1; 开启自动提交模式

  4. 数据库索引

    ​ 作用:提高查询速度

    ​ 确保数据的唯一性

    ​ 可以加速表与表之间的连接,实现表与表之间的参照完整性

    ​ 使用分组和排序字句进行数据检索时,可以显著的减少分组和排序 的时间

    ​ 全文检索字段进行搜索优化

    ​ 分类:主键索引

    ​ 唯一索引

    ​ 常规索引

    ​ 全文索引

    ​ 主键索引:某一属性或属性的组合能唯一标识一条记录

    ​ 如:学生表中,学号就是唯一标识的,可作为主键

    ​ 特点:确保数据记录的唯一性

    ​ 确保特定数据记录在数据库中的位置

    ​ 唯一索引:

    ​ 作用:避免同一表中某数据列中的值重复

    ​ 注意:主键索引只能有一个,唯一索引可有多个

    ​ 常规索引:

    ​ 作用:快速定位特定数据

    ​ 注意:index和key关键字都可设置常规索引

    ​ 应加在查找条件的字段

    ​ 不宜添加太多的常规索引,影响数据的插入、删除和修改操作

    ​ 全文索引:

    ​ 作用:快速定位特定数据

    ​ 注意:只能用于MySAM类型的数据表

    ​ 只能用于char、varchar、text数据列类型

    ​ 适合大型数据集

    ​ 管理索引:

    ​ 创建索引:

    ​ 创建表时添加

    ​ 建表后追加

    alter table 表名 add索引类型(数据列名)

    ​ 删除索引:

    drop index 索引名 on 表名
    alter table 表名 drop index索引名
    alter table 表名drop primary key		
    

    ​ 查看索引:

    show index(或keys)from 表名

    ​ 索引准则:索引不是越多越好

    ​ 不要对经常变动的数据加索引

    ​ 小数据量的表不建议加索引

    ​ 索引一般应加在查找条件的字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值