在我最近的项目中,经常会有给大表加字段的需求,这个过程非常耗时。 可以看到,900 万数据量的一张表,加一个字段就需要 3 个小时左右。 我们知道,给一个表加字段,或者修改字段,或者加索引,需要扫描全...
上传资源管理进阶:优化资源映射
之前章节介绍了nestjs框架下如何上传图片,返回了资源地址,但实际开发中资源上传成功,不单单只返回个url地址,还需要返回文件名称,文件类型,文件大小等,这时候我们需要通过个资源映射来满足需求,在这...
目前深度进阶学习数据库,有那些书籍推荐?
数据库技术是现代软件开发中不可或缺的一部分,无论你是新手还是有经验的开发人员,学习数据库的过程都需要系统性和全面性。以下是对数据库学习的一些建议和推荐书籍,希望能够帮助你构建扎实的数据库基础。 一、学...
《揭秘MySQL主从复制:数据同步的幕后故事》
MySQL 的主从复制基于 binlog 实现,其主要过程如下: 从服务器在开启主从复制后,将会创建两个线程:I/O 线程与 SQL 线程。 从服务器的 I/O 线程会尝试与主服务器建立连接,主服务...
docker中mysql设置lower_case_table_names配置的坑
前沿 今天在使用flowable流程框架的时候,遇到一个问题。需要配置MySQL数据库以实现表名大小写不敏感。本以为这是一个简单的任务,却耗费了我两个多小时的时间。 docker容器中修改配置,重启不...
提升SQL查询效率的终极指南
在面试中,SQL 调优经常是被问及的问题,它可以考察候选人对于 SQL 整体性能优化的理解和掌握程度。一般来说,SQL 调优的步骤可以从以下几个方面入手。 首先,需要准确地定位问题。在面试中,最好能结...
记录一次使用 Mysqldump 备份数据的bug排查过程,你绝对想不到是什么?
前记: 有好长时间工作项目用的都是 PostgresSQL,没有用到 Mysql。 最近自己突发奇想,花了两周的时间做了个小程序项目并还上线了。今天先不说小程序用户的事儿,主要是前期啥也没考虑就直接开...
深入理解InnoDB中的页分裂与页合并
想要了解什么是页分裂,页合并,那么就要想知道 InnoDB 中的数据页是什么。 InnoDB 的数据页 InnoDB 的数据页是存储引擎中用于保存数据的基本单位。每个数据页是磁盘上的一个连续区域,通常...
在数据库设计时,表记录唯一ID应该如何设置?
自增ID 在数据库设计中,使用 自增ID(auto-increment ID) 作为记录的唯一ID是一种常见且简便的方法。 优点: 自增ID 的实现和使用非常简单,数据库管理系统(如MySQL、Pos...
✅MySQL用了函数到底会不会导致索引失效
本次主要聊一聊关于函数到底会不会导致索引失效呢? 很多人认为,在使用函数后就无法使用索引。 这主要是因为索引是按照列值的原始顺序组织和存储的。当对列应用函数时(如数学运算、字符串操作或日期函数等),函...
一篇文章聊透索引失效有哪些情况及如何解决
MySQL 索引失效是一个相当普遍的问题,尤其在处理慢查询时特别需要注意是否存在索引失效的情况。 排查索引失效问题的第一步,必须定位要分析的 SQL 语句,然后通过EXPLAIN来查看其执行计划。主要...
深入探索MySQL:EXPLAIN 分析与优化
分析: MySQL的EXPLAIN命令用于显示MySQL如何执行SELECT语句,包括如何处理表和索引。下面是EXPLAIN输出结果中每一列的含义以及详细解读: 1. id: - 查询的标识符。如果是...
MySQL 之多张表的操作
在 《下载安装及单张表的操作》中介绍的都是处理如下所示的单张表 members 的情况: 如果想进行扩展学习,我们可以将保存地区信息的 region 字段删除(顺便也将比较占位置的 updateTim...
解读MySQL 8.0数据字典的初始化与启动
本文分享自华为云社区《MySQL全文索引源码剖析之Insert语句执行过程》,作者:GaussDB 数据库。 本文主要介绍MySQL 8.0数据字典的基本概念和数据字典的初始化与启动加载的主要流程。 ...
MySQL锁、加锁机制(超详细)—— 锁分类、全局锁、共享锁、排他锁;表锁、元数据锁、意向锁;行锁、间隙锁、临键锁;乐观锁、悲观锁
文章目录 一、概述 1.1 MySQL锁的由来 1.2 锁定义 1.3 锁分类 二、共享锁与排他锁 2.1 共享锁(S锁) 2.2 排他锁(X锁) 2.3 MySQL锁的释放 三、全局锁 3.1 介绍...
数据迁移到 Django 模型表:详尽指南
引言 数据迁移是许多应用程序开发过程中必不可少的一部分。在这篇文章中,我们将详细分析和总结如何通过一个定制的 Django 管理命令,将数据从 MySQL 数据库迁移到 Django 模型表中。这种方...
【MySQL教程】项目中怎么处理慢SQL
1. 慢SQL危害 慢SQL顾名思义,执行耗时比较久的SQL,长时间占有一个数据库连接。可千万不能小看一个慢SQL,会对数据库造成非常大的影响。 数据库是一个公共资源,会有多个接口、多个节点、甚至多个...
【MySQL教程】Centos安装MariaDB
简介 MariaDB Server 是一个通用的开源关系数据库管理系统。 它是世界上最受欢迎的数据库服务器之一,拥有包括 Wikipedia、WordPress.com 和 Google 在内的知名用...
【MySQL教程】MySQL存储引擎详述:InnoDB为何胜出?
MySQL作为当前最流行的开源关系型数据库之一,其强大的功能和良好的性能使其广泛应用于各种规模的应用系统中。其中,存储引擎的设计理念是MySQL数据库灵活高效的关键所在。 一、什么是存储引擎 存储引擎...
【MySQL教程】MySQL数据库锁:共享锁和独占锁
在InnoDB存储引擎中,行级别锁有两种类型:共享锁(S锁)和排他锁(X锁),理解这 2种锁的工作机制及其交互关系对于掌握MySQL的并发控制和锁机制非常重要,因此,今天就来一起聊聊MySQL的共享锁...