mysql 事务,引擎,优化

2018-08-27  本文已影响0人  destiny96

事务

事务隔离

事务并发可能遇见的问题

mysql引擎

myisam
不支持事务,不支持外键,只支持表级锁,优点是查询速度速度快,主要用于insert,select操作比较多的表
支持3种不同的存储格式,分别是:静态表;动态表;压缩表

innodb
支持事务,支持行级锁,行级锁可大大提升并发时候事务处理的速度,提供了具有提交、回滚和崩溃恢复能力的事务安全,查询速度慢

原博地址:https://github.com/xianyunyh/PHP-Interview/blob/master/Mysql/%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E.md

数据库优化

-- 查询sql优化,少用子查询,尽量join;少用like;分页查询limit;需要什么字段查什么字段,少用select *;拆分大的insert.delete;
-- 善用索引,在group by ,orderby,where, on这些字段建索引,加快查询速度;在数据类型小的字段加索引;
-- 表结构的数据类型选择,多用not null,尽量避免null数据;根据数据选择最适用的数据类型;使用合理的定长数据类型,固定长度的会节约资源,查询的时候快一点,多使用char.enum,而不是varchar
-- 使用命令分析:explain分析sql,查看数据库慢查询速度 show status like 'slow_queries','connections','com_select','uptime',
-- 分库分区分表,主从哭,读写分离
分表:垂直分表,针对表列数比较多的表,将常用与不常用的字段列分开,数据大的独立出来
水平分表, 表结构一致,可以通过加日期后缀来存储不同时期的数据,服务端使用数据的时候,通过当前业务情况来操作使用那张表。也可以通过数据的不同类型分表,按板块结构分表

锁表相关:http://www.cnblogs.com/luyucheng/p/6297752.html

上一篇 下一篇

猜你喜欢

热点阅读