Mysql:事务、索引(了解) 事务 索引 索引原则 索引的数据结构
将一组SQL放在一个批次中去执行
原则
原子性:一起成功或者一起失败
一致性:操作前与操作后的状态一致
持久性:事务没有提交就恢复到原状
事务已经提交,被持久化到数据库中
隔离型:多个用户操作事务相互不影响
-- 事务流程
-- 关闭自动提交
SET autocommit = 0;
-- 事务开启
START TRANSACTION
-- START TRANSACTION 之后的sql 被标记为同一个事务中
INSERT INTO ...
UPDATE ...
-- 提交
COMMIT
-- 回滚
ROLLBACK
-- 事务结束
SET autocommit = 1 -- 开启自动提交
索引
提高查询效率,本质是数据结构
分类
-
主键索引
- 唯一
-
唯一索引
- 避免重复的列出现,可重复
-
常规索引
- 默认的
-
全文索引
- 跟数据库引擎有关
-- 显示所有索引信息 show index -- 增加全文索引 alter table school.student add fulltext index `索引名` (`studentname`); -- 创建索引: create index 索引名称 on 表名(字段名) create index id_app_user_name on app_user(`name`);
索引原则
- 索引不是越多越好
- 不要对经常变动数据加索引
- 小数据量的表不需要加索引
- 索引一般加在常用来查询的字段上
索引的数据结构
Hash
Btree