9月17-MySQL性能优化

MySQL性能优化策略

1、MySQL内核架构

2、索引原理与查询优化

  • 加速MySQL高效查询数据的数据结构
  • 二分查找(binary search)
  • 二叉树查找(binary tree search)
  • MyISAM引擎和InnoDB使用Balance+Tree作为索引结构

3、内存引擎类型

  • MyIsam速度快,响应快。表级锁是致命问题
  • Innodb目前主流存储引擎 1)行级锁 务必注意影响结果集的定义是什么 行级锁会带来更新的额外开销,但是通常情况下是值得的 2)事物提交 对I/O效率提升的考虑 对安全性的考虑
  • HEAP内存引擎 1)频繁更新和海量读取情况下仍会存在锁定状况
  • 索引优化-MyISAM VS InnoDB MyISAM索引文件(.MYI)、数据文件(MYD) 1)所有的索引都是对等的 2)KEY

4、内存使用考量

5、分布式缓存Cache

  • Redis、Memcached是最流行的分布式缓存
  • MySQL支持缓存同步数据 1)命中率是第一要评估的数据 2)善于利用内存,请注意数据存储的格式及压缩算法 3)相关评估类似于热点数据表的介绍,热点数据,静态不变

6、性能与安全性

7、分布式架构

8、主从复制、读写分离

  • 主从复制 1)读写分离对负载的减轻远远不如分库分表来的直接 2)写压力会传递给从表,只读从库一样有写压力,一样会产生读写锁 3)负载均衡主要使用分库方案,主从主要用于热备和故障转移
  • MySQL Cluster:高可用 1)同步复制 2)自动故障切换 3)自我修复 4)无共享架构,无单点故障 5)跨地域复制

9、分库分表、分片Sharding策略

  • 分片Sharding策略,MySQL集群与Sharding存储机制 1)自动将表分片(或分区)到不同节点上,使数据库可以在低成本的商用硬件上横向扩展,支持读写和写入密集型负载,并且可通过sql或者直接通过NoSQL API访问。 2)分片对应用程序完全透明,这样应用程序便可连接至集群中任何节点,查询操作会自动访问所需的正确片区。

10、硬件策略

  • 高并发,高可用
  • 增加磁盘并发IO数量
  • 使用SSD磁盘
  • 日志文件独立磁盘驱动器
  • 使用RAID磁盘阵列
  • 使用多核CPU
  • 使用大量内存和缓存

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏MySQL实战分享

【MySQL经典案例分析】 Waiting for table metadata lock

2018年某个周末,接到连续数据库的告警,看到too many connection的报错信息,基本上可以把问题定位在...

6986
来自专栏文渊之博

探索SQL Server元数据(一)

  在数据库中,我们除了存储数据外,还存储了大量的元数据。它们主要的作用就是描述数据库怎么建立、配置、以及各种对象的属性等。本篇简单介绍如何使用和查询元数据,如...

1292
来自专栏性能与架构

Mysql Query Cache的负面影响

Query Cache确实是以比较简单的实现带来巨大性能收益的功能。但可能很多人都忽略了使用QueryCache之后所带来的负面影响 (1)Query的hash...

3598
来自专栏性能与架构

格式化SQL来提高效率

对SQL语句进行格式化不会让其运行得更快,但对我们的工作效率是有很大好处的 (1)提高SQL的可读性大大提高,便于维护 (2)提高开发效率,方便测试 例如 ? ...

3439

使用 Excel 分析 CloudStack 使用记录

注:本文最初由 David Nailey 在 Build a Cloud 博客上撰写。

2139
来自专栏性能与架构

一个写SQL语句的便利工具

前言 我们平时会经常写SQL语句,这个过程我有一个痛点 我一直使用的数据库工具是 Sequel Pro,在写SQL时有点不方便,主要是对表明和字段名的自动提示支...

4438
来自专栏程序猿

MySQL数据库优化小谈,简短。

更新文章的速度跟不上大家的热情了......,青岛的一场大雪,取暖基本靠抖了。 ? 好勒,现在写正经的。对于优化,这片文章我只说大致思路...

3497
来自专栏大宽宽的碎碎念

怎么避免MYSQL误删除避免混淆开发环境的DB和生产环境的DB用事务保护使用安全更新模式对DROP和TRUNCATE慎之又慎最终的招数最终的话

36313
来自专栏PHP在线

MYSQL性能优化分享(分库分表)

MYSQL性能优化之分库分表与不停机修改mysql表结构,需要的朋友可以参考下 1、分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严...

3915
来自专栏ImportSource

构建物化视图的两种方式

构建物化视图的两种方式 章节:nosql distilled 第三章第四节 物化视图 There are two rough strategies to b...

34415

扫码关注云+社区

领取腾讯云代金券