mysql
huanshirenjian
这个作者很懒,什么都没留下…
展开
-
mysql性能优化系列2-mysql引擎
MySQL中数据以各种不同的方式存储在文件或者内存中。这些不同的方式以及配套的相关功能被称作存储引擎或者表类型。1. MyISAMmysql5.5之前默认的存储引擎,它不支持事务,也不支持外键,但是访问速度快。只支持表级锁,支持全文索引。(1)存储文件以MyISAM为引擎的表在磁盘上存储成3个文件,扩展名分别为frm、MYD、MYI。.frm:存储表定义MYD:存储表数据MYI:存...原创 2019-05-19 15:39:06 · 343 阅读 · 0 评论 -
mysql性能优化系列9-分库分表mycat
1. 分库分表如果在数据库中表的数量达到了一定的量级, 则需要进行分表, 分解单表的大数据量对索引査询带来的压力,方便对索引和表结构的变更 。如果数据库的吞吐量达到了瓶颈,就需要增加数据库实例,利用多个数据库实例来分解大量的数据库请求带来的系统压力。分库分表就是将一个表分为多个表, 这些表可以放在同一个库里, 也可以放到不同的库里, 甚至可以放在不同的数据库实例上。(1)单实例单库单库单...原创 2019-05-22 00:09:57 · 946 阅读 · 1 评论 -
mysql性能优化系列8-mysql集群
1. 为什么要使用集群(1)可用性单个数据库实例宕机,其他的数据库实例可提供服务,对业务来说基本无感知。同时数据在多个实例之间的复制,提高数据的安全性和可用性。(2)提高性能业务对数据的访问可以分散到不同的数据库实例上,比如读写分离降低单个数据库实例的访问压力。2. 集群方案(1)MySQL ClusterMysql本身提供,优势:可用性和性能非常好。每份数据至少可在不同主机存一份拷...原创 2019-05-21 11:35:00 · 1218 阅读 · 1 评论 -
mysql性能优化系列7-索引与执行计划
1. 索引1.1 索引分类(1)主键索引根据主键建立索引,不允许重复,不允许空值(2)唯一索引索引的列值必须唯一,允许空值(3)普通索引普通列构建的索引,无限制(4)全文索引用大文本对象的列构建的索引(5)组合索引多个列组合构建索引,每个列不允许有空值。组合索引遵循最左前缀原则1.2 实现原理MySQL数据库支持多种索引类型。(1)哈希索引只有memory存储引擎支持...原创 2019-05-20 21:11:56 · 378 阅读 · 0 评论 -
mysql性能优化系列6-慢查询
1.慢查询慢查询日志是mysql用来记录执行时间超过long_query_time参数设定的时间阈值的SQL语句。默认慢查询日志是关闭的。1.1 慢查询配置slow_query_log:打开、关闭慢查询日志slow_query_log_file:慢查询日志的存储路径及文件(默认和数据文件放一起)long_query_time:慢查询SQL执行时间得伐值,默认10秒log_querie...原创 2019-05-19 23:22:39 · 240 阅读 · 0 评论 -
mysql性能优化系列5-三大范式
1. 三大范式(1)第一大范式数据库表中的所有字段都只具有单一属性,单一属性的列是由基本数据类型所构成。(2)第二大范式表中只具有一个业务主键,也就是说不能存在非主键列只对部分主键的依赖关系。(3)第三大范式每一个非主键列既不部分依赖于也不能传递依赖于业务主键,也就是在第二范式的基础上相处了非主键对主键的传递依赖。2. 反范式化设计反范式化是针对范式化而言得,是为了性能和读取效率得...原创 2019-05-19 20:29:27 · 227 阅读 · 0 评论 -
mysql性能优化系列4-在线修改表结构
修改表结构会导致表锁,数据量大修改数据很长,导致大量操作阻塞。解决方案:可以使用pt-online-schema-change,它的大致过程为:首先创建一个和原表一样的空的表结构修改表结构,copy原表中的数据到新表在原表上创建一个触发器在数据copy的过程中,将原表的更新操作全部同步到新表中copy完成之后,用rename table 新表代替原表,默认删除原表。...原创 2019-05-19 17:56:23 · 284 阅读 · 0 评论 -
mysql性能优化系列3-锁和事务
1. 锁分类表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发度最低。适合于以查询为主,只有少量按索引条件更新数据的应用。行级锁:开销大,加锁慢,会出现死锁。锁定粒度最小,发生锁冲突的概率最低,并发度也最高。适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用。页面锁:开销和加锁时间界于表锁和行锁之间,会出现死锁。锁定粒度界于表锁和行锁之间,并发度一...原创 2019-05-19 17:52:14 · 243 阅读 · 0 评论 -
mysql性能优化系列1-mysql架构
1. mysql性能指标mysql性能中有两个重要性能指标:TPS和QPS。(1)TPSTPS(Transactions Per Second)是指服务器每秒处理的事务数。不过有的存储引擎不支持事务,无法用这个指标衡量。(2) QPSQPS(Queries Per Second)是指每秒查询处理量。(3)等待时间(UPTIME)指执行Sql语句等待返回结果之间的等待时间TPS = ...原创 2019-05-18 13:25:11 · 144 阅读 · 0 评论