配置 MySQL 主从复制

MySQL的复制功能,是构建基于MySQL的大规模、高性能应用的基础,通过为服务器配置一个或多个备库的方式来进行数据同步。复制功能不仅有利于构建高性能的应用,同时也是高可用性、可扩展性、灾难恢复、备份、以及数据仓库等工作的基础。本文记录搭建一个最基本的MySQL一主一从架构的详细步骤。

给 Magento 2 添加缓存层的分析与尝试

虽然黑色星期五有惊无险的过去了, 但是 Magento 2 社区版无法读写分离这个限制, 始终是悬在整个网站上的一把利剑。这次黑五, 整个项目的性能瓶颈就是 MySQL, 流量上来之后, 应用服务器负载基本保持不变, 而数据库服务器负载却翻了3倍多, 而且是在数据库服务器提前升级了硬件配置的基础上。所以我觉得 Magento 2 的数据库层必须要优化一下, 既然没法做读写分离, 那能不能加个缓存层呢?将绝大多数读取操作转移到缓存层去, 理论上数据库的负载会相应下降。

MySQL JOIN | 联结

联结是利用SQL的SELECT能执行的最重要的操作。为了提高存储的有效性和避免数据冗余,往往会将有关联的数据存储在好几张表中,那么怎样用一条SELECT语句就能检索出这些数据呢?

答案是JOIN(联结)。在一条SELECT语句中,我们可以联结多张表返回一组数据。

联结的本质是主表中符合条件的每一行与附表中符合条件的每一行进行配对,假如没有WHERE子句或联结条件,则主表中每一行将与附表中的每一行配对,总共会返回的行数是main_table_row_num * attach_table_row_num。如果主表和附表中包含的行数非常多,那么就有必要在WHERE子句中加入筛选条件,这样会大大减少不必要的配对。

MySQL 基础知识

在平时的开发和学习中,我会把我查阅到的MySQL的官方英文文档翻译成中文,这样不仅能加深我对这些知识点的记忆与理解,也方便我和其他小伙伴在以后的开发学习中查阅MySQL文档

MySQL 数据类型

整数类型 数据类型 占用空间 可存储的值的范围 UNSIGNED可存储的值的范围 TINYINT 8位 -128 ~ 127 0 ~ 256 SMALLINT 16位 -32768 ~ 32767 0 ~ 65536 MEDIUMINT 24位 -8388608 ~ 838860 …

MySQL锁、事务、多版本并发控制的基础知识

1.2 并发控制 1.2.1 读写锁 在处理并发读或写时,通过实现一个由两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常被称为 共享锁(shared lock) 和 排它锁(exclusive lock),也叫读锁(read lock)和写锁(write lock)。 读锁 …

《高性能MySQL》读书笔记之创建高性能的索引

索引是存储引擎用于快速找到记录的一种数据结构。索引优化是对查询性能优化的最有效手段。索引能够轻易将查询性能提高几个数量级。创建一个最优的索引经常需要重写查询。 5.1 索引基础 在MySQL中,存储引擎首先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。 索引可以包含 …