1.目的MySQL 主从复制(Master-Slave Replication)是一种常见的数据库复制技术,它在数据库管理中发挥着重要的作用,有以下几个主要用途:高可用:主从复制通过在多个服务器之间复制数据,提供了数据冗余和高可用。如果主数据库发生故障,从数据库可以接管,确保系统继续运行。高性能:主从复制支持读写分离,即读操作可以路由到从服务器,而写操作仍然 ......
33
0
0
2024-11-09
一、分区的基本概念MySQL分区 是一种数据库优化的技术,它允许将一个大的表、索引或其子集分割成多个较小的、更易于管理的片段,这些片段称为“分区”。每个分区都可以独立于其他分区进行存储、备份、索引和其他操作。这种技术主要是为了改善大型数据库表的查询性能、维护的方便性以及数据管理效率。物理存储与逻辑分割物理上,每个分区可以存储在不同的文件或目录中,这取决于分区 ......
39
0
0
2024-11-07
在编写SQL查询语句时,我们通常会按如下顺序书写:sql复制代码SELECT [DISTINCT] column1, column2, ... FROM table1 JOIN table2 ON condition WHERE condition GROUP BY column HAVING condition ORDER BY column ......
38
0
0
2024-11-05
Mysql中索引长度key_len探索表结构mysql> desc emp; +--------------+---------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | ......
24
0
0
2024-11-05
在日常数据库操作中,经常会遇到需要批量更新数据的场景。MySQL提供了多种方法来实现这一需求,包括REPLACE INTO、INSERT INTO ... ON DUPLICATE KEY UPDATE以及UPDATE ... CASE WHEN等。本文将详细介绍这些方法的使用方法、适用场景及其注意事项。表结构及原始数据首先,假设我们有一个部门信息表dept ......
31
0
0
2024-11-05
编写SQL语句的良好习惯至关重要,原因如下:它们提高了查询的清晰度和可读性,使其更易于理解、维护和调试。优化的SQL查询可以显著提升查询效率,减少执行时间和资源消耗。遵循最佳实践可以保障安全性,防止SQL注入攻击,确保敏感数据的安全处理。保持SQL编写的一致性,有助于团队成员之间的有效协作,并支持数据库系统扩展,以应对日益增长的数据量和用户访问。1. 始终使 ......
31
0
0
2024-11-03
作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。正文1. 准备工作确认事务隔离级别为可重复读:show variables like 'transactio ......
36
0
0
2024-11-01
有了PostgreSQL的出现,MySQL的数据库在SQL的处理上的问题一直被人当做有意思的事情来去谈论,实际上每种数据库有自己不同的个性,我们掌握就好,无需特别的进行一些情感上的好恶。MySQL 最近一个同学给我提了一个问题,关于为什么一个简单的语句,并且语句中提取的数据是唯一的一条,而却在下面循环了三次,因为我没有他的数据,也仅仅是看了执行计划和语句,又 ......
24
0
0
2024-11-01
索引简介索引是一个排好序的数据结构,包含着对数据表里所有记录的引用指针,如下图所示。索引文件和数据文件一样都存储在磁盘中,数据库索引的目的是在检索数据库时,减少磁盘读取次数。常见的索引数据结构包括二叉树、红黑树、Hash表、B树,可以通过www.cs.usfca.edu/~galles/vis…可视化学习这些数据结构。比如建立一个二叉树:MySQL中使用的索 ......
38
0
0
2024-10-31
前言在上一篇文章中,我们知道了可重复读的隔离级别采用 MVCC (multi-version concurrency control——多版本并发控制) 机制实现较高的隔离性,确保事务之间的隔离性和一致性。另外,MySQL 在读已提交的隔离级别下也实现了MVCC 机制。那么什么是MVCC?又该如何实现MVCC?MVCC 简介MySQL 中的 MVCC(Mul ......
32
0
0
2024-10-31
前言数据库通常会同时执行多个事务,这些事务可能同时对同一批数据进行增删改查操作,可能会导致脏写、脏读、不可重复读和幻读等问题。这些问题的根本是数据库的多事务并发性问题。为了解决多事务并发问题,数据库引入了事务隔离机制、锁机制和 MVCC 多版本并发控制隔离机制等一系列机制。接下来,小鱼将深入探讨这些机制,帮助各位 uu 们更好地理解数据库内部的执行原理。My ......
32
0
0
2024-10-31
前言本文若未特意说明使用的数据表,均为 MySQL索引(四)常见的索引优化手段 中的示例表。分页业务的索引优化在业务场景中,经常会使用到分页处理,那么sql 实现语句可能如下:SELECT * FROM employees limit 10000,10; 从"employees"表中选取10条数据,跳过前10000条数据,查询结果将返回"employees ......
34
0
0
2024-10-31
Trace 工具简介Trace 是 MySQL 5.6 版本后提供的 SQL 跟踪工具,用于了解优化器 (optimizer) 在选择执行计划时的决策过程,包括表访问方法、各种开销计算和转换等信息。当启用 trace 工具时,可以将跟踪结果记录到 INFORMATION_SCHEMA.OPTIMIZER_TRACE 表中,支持分析以下语句:SELECT、IN ......
37
0
0
2024-10-31
本文索引优化包含对 MySQL索引(三)explain实践,优化 MySQL 数据库查询性能 的一些补充。索引优化创建示例表CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT ......
31
0
0
2024-10-31
Explain工具EXPLAIN is used to obtain a query execution plan (that is, an explanation of how MySQL would execute a query).EXPLAIN 工具能用于获取查询执行计划,即分析 MySQL 如何执行一个 SQL 语句。我们可以通过使用EXPLAIN ......
39
0
0
2024-10-31