一、事务操作
查看/设置事务提交方式
SELECT @@autocommit; 设置为自动提交
SET@@autocommit=0; 设置为手动提交
提交事务
COMMIT;
回滚事务
ROLLBACK;
开启事务
START TRANSACTION 或BEGIN
提交事务
COMMIT
回滚事务
ROLLBACK
二、事务四大特性
原子性、一致性、隔离性、持久性
事务隔离级别
READ uncommitted、 Read committed、Repeatable Read、Serializable
存储引擎(存储数据、建立索引、更新/查询数据)
MySQL体系结构
连接层、服务层、引擎层、存储层
默认存储引擎 InnDB
查询当前数据库支持的存储引擎
show engines;
InnoDB
TableSpece:表空间
Segment:段 Extent:区 Page:页 Row:行
B+Tree 相对于B-Tree区别:
1、所有的数据都会出现在叶子节点
2、叶子节点形成一个单向链表
Hash
Hash索引只能用于对等比较
无法利用索引完成排序操作
主键索引 唯一索引 常规索引 全文索引
创建索引
CREATE [UNIQUE | FULLTEXT] INDEX index_name IN table_name(index_col_name,);
例如:创建索引
create index idx_user_name on tb_user(name);
查看索引
show index from tb_user;
联合索引
例:为Profession、age、status创建联合索引
create index idx_user_pro_age_sta on tb_user(profession,age,status);
show[session|global]status可以提供服务器状态信息
慢查询日志
select @@have_profiling;是否支持profile操作
set profiling =1;开启profile操作
explain执行计划
explain select 字段列表 from 表名 where 条件;
索引使用
最左前缀法则
查询从索引的最左列开始,并且不跳过索引中的列,如果跳跃某一列,索引将部分失效。
范围查询
联合索引中,出现范围查询(>,<),范围查询右侧的列索引失效
索引列运算
不要在索引列上进行运算操作,索引将失效
字符串不加引号
索引将失效
模糊查询
尾部模糊匹配,索引不会失效,如果是头部模糊匹配,索引失效
前缀索引
语法
create index idx_xxxx on table_name(column(n));