MySQL事务、索引

1、事务
事务就是将一组SQL语句放在同一批次内去执行;如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行(持InnoDB和BDB数据表类型)。
2、ACID 属性
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
3、MySQL的事务实现方法
SET AUTOCOMMIT:使用SET语句来改变自动提交模式
SET AUTOCOMMIT = 0; # 关闭自动提交模式
SET AUTOCOMMIT = 1; # 开启自动提交模式
MySQL中默认是自动提交
使用事务时应先关闭自动提交
步骤:一、START TRANSACTION=0:开始一个事务,标记事务的起始点
二、COMMIT:提交一个事务给数据库
三、ROLLBACK:将事务回滚,数据回到本次事务的初始状态
四、SET AUTOCOMMIT = 1:开启MySQL数据库的自动提交
4、索引
作用: 提高查询速度
确保数据的唯一性
可以加速表和表之间的连接,实现表与表之间的参照完整性
使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间
全文检索字段进行搜索优化
分类: 主键索引(PRIMARY KEY):主键索引只能有一个
唯一索引(UNIQUE):唯一索引可有多个
常规索引(INDEX)
全文索引(FULLTEXT): 只能用于MyISAM类型的数据表
只能用于 CHAR 、 VARCHAR、TEXT数据列类型
全文索引的使用:select *from student where match(列名) against (列值);
在select前面添加explain可以查询是否全文索引
5、管理索引
创建索引
创建表时添加
建表后追加:ALERT TABLE 表名 ADD 索引类型(数据列名)
删除索引: DROP INDEX 索引名 ON 表名
ALTER TABLE 表名 DROP INDEX 索引名
ALTER TABLE 表名 DROP PRIMARY KEY
查看索引: SHOW INDEX(或KEYS) FROM 表名
6、索引准则

索引不是越多越好
不要对经常变动的数据加索引
小数据量的表建议不要加索引
索引一般应加在查找条件的字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值