MySQL基础事务+MYSQL进阶索引

一、事务操作

查看/设置事务提交方式

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));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值