存储引擎是作用在表上的
- 事务
-- Innodb -- 事物 -- 开启事务 start transaction; -- 操作 insert into project_user_visit(id, visit_user_name) values ('10', '喜欢天文的pony'); -- 提交事务 commit; -- 回滚事务 rollback;
- MyISAM
三、 SQL优化
- 查看sql语句的执行频次,哪些操作执行的比较频繁(以插入还是查询为主)
show global status; -- 查询操作次数 show global status like 'Com_______'; -- 查询Innodb存储引擎下操作的行的数量 show global status like 'Innodb_rows_%';
- 定位效率低的SQL
-- 查看实时状态-检测每个客户端正在执行的慢SQL show processlist;
explain
分析执行计划
- id
- 如果id值一样,则按照从上到下顺序查询,
- 如果id不一样,则按照数值从大到小查询表。
- select_type
- table
- 查询的是哪张表
- type
- possible_keys
- 可能用到的索引
- key
- 实际用到的索引
- key_len
- 索引的长度(越短越好)
- rows
- 扫描的行数
- extra
- show profiles分析SQL
-- 是否开启 select @@have_profiling; -- 在当前Session会话开启profiling select @@profiling; -- 在当前会话开启profiling; set profiling = 1; -- 查看记录 show profiles;
各阶段时间分析 show profile for query [id]
show profile all for query 2; show profile cpu for query 2;
- 优化器