前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >9月17-MySQL性能优化

9月17-MySQL性能优化

作者头像
麦克劳林
发布2018-10-10 10:08:25
3520
发布2018-10-10 10:08:25
举报

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
  • 使用大量内存和缓存
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.09.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL性能优化策略
    • 1、MySQL内核架构
      • 2、索引原理与查询优化
        • 3、内存引擎类型
          • 4、内存使用考量
            • 5、分布式缓存Cache
              • 6、性能与安全性
                • 7、分布式架构
                  • 8、主从复制、读写分离
                    • 9、分库分表、分片Sharding策略
                      • 10、硬件策略
                      相关产品与服务
                      云数据库 MySQL
                      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档