MySQL
MySQL
一叶知秋V
这个作者很懒,什么都没留下…
展开
-
MySQL 性能调优——索引优化
对于任何系统来说,监控都是重要的组成部分。数据库是一切系统的核心组件,数据库的稳定性从一定程度上决定了系统的稳定性,所以,对于数据库的监控,就显得尤为重要了。常见的开源监控软件有 Nagios、Zabbix。这些监控软件,或是提供了数据库监控插件,或是允许用户以插件的形式开发自己对数据库的监控脚本,并且支持的脚本语言也是多种多样的,用户完全可以按照自己的习惯,来选择自己的监控软件,以及编写适合自己的监控脚本。原创 2019-07-01 13:29:32 · 1217 阅读 · 2 评论 -
MySQL 性能调优——SQL 优化
随着业务的不断增长,数据库中的数据也会越来越多,数据库的压力会越来越大,我们会发现,在业务繁忙的时候,数据库的性能会直线下降,这时为了保证良好的性能,需要想办法分担数据库的压力。分担数据库的读负载可以使用主从复制的方式,增加只读从数据库,通过读写分离的方式把数据库的读负载分担到不同的从数据库中,这时在一段时间内已经可以解决问题了。随着业务的发展,会发现,单一的主数据库已经无法承担写负载了,那么这时就需要对单一的主数据库进行拆分了。原创 2019-06-28 10:23:42 · 12339 阅读 · 7 评论 -
MySQL 性能调优——库表结构优化
如何设计最优的数据库表结构,如何建立最好的索引,以及如何扩展数据库的查询,这些对于高性能来说都是必不可少的。但是只有这些还不够,要获得良好的数据库性能,我们还要设计合理的数据库查询,如果查询设计的很糟糕,即使增加再多的只读从库,表结构设计的再合理,索引再合适,只要查询不能使用到这些东西,也无法实现高性能的查询。所以说查询优化,索引优化,库表结构优化需要齐头并进。原创 2019-06-26 23:21:44 · 4738 阅读 · 6 评论 -
MySQL 技术内幕——MySQL Cluster
索引对于数据库的影响非常关键,索引的主要作用就是告诉存储引擎如何快速的找到需要的数据。当表中的数据比较少时,索引的作用可能还不是很明显,因为此时表中的数据基本上可以完全缓存在内存中,就算进行全表扫描也不会太慢。而随着表中数据越来越多,查询频率也越来越高,内存已经不能完全缓存所有数据的时候,索引的作用就会显得越来越重要。MySQL 的索引是在存储引擎层实现的,而不是在 MySQL 的服务器层实现的,这也就决定了不同存储引擎上的索引可能用的方式是不同的。同是也不是所有的存储引擎都支持所有的索引类型。即使是同一种原创 2019-06-25 22:14:57 · 896 阅读 · 2 评论 -
MySQL 技术内幕——主从同步原理
MySQL 主从同步,Master 必须启用 binlog,即二进制日志,binlog 记录了所有修改数据库的 SQL 语句,不记录任何查询语句。如果不开启 binlog 功能,则无法实现主从同步。原创 2019-06-16 22:23:40 · 1214 阅读 · 1 评论 -
MySQL 技术内幕——锁模块
良好的数据库逻辑设计和物理设计是数据库获得高性能的基础。优化数据库结构可以减少数据冗余(相同的数据在多个地方存在);尽量避免数据维护中出现更新,插入和删除异常(通过范式化设计解决);节约数据存储空间;提高查询效率。原创 2019-06-16 22:22:19 · 612 阅读 · 0 评论 -
MySQL 技术内幕——存储引擎
数据库存储引擎的选择会对性能产生直接的影响。存储引擎是针对于表的而不是针对于库的(一个库中的不同表可以使用不同的存储引擎)。MyISAM 是 MySQL 5.5 之前版本默认的存储引擎。MySQL 5.5 及之后版本默认存储引擎改为了 InnoDB。原创 2019-06-16 22:19:43 · 1036 阅读 · 1 评论 -
MySQL 技术内幕——数据库架构
数据库性能影响因素包括 sql 查询速度、大表和大事务、数据库存储引擎、数据库参数配置、服务器硬件、网卡流量、磁盘 IO 等因素。需要注意的是 MySQL 5.7 是单线程的服务,并不支持多 cpu 并发运算,意味着每条 sql 只能用到 1 个 cpu。原创 2019-06-16 22:18:10 · 1541 阅读 · 0 评论 -
MySQL 数据库规范
好的数据库规范有助于减少软件实现的复杂度,降低沟通成本,本铁律主要涵盖了建库建表、建索引、写 SQL、ORM 映射等方面的处理约定。原创 2019-08-30 15:35:48 · 26148 阅读 · 41 评论