刷新
MySQL索引(三):字符串索引优化之前缀索引

博主头像 MySQL系列文章 在数据库优化中,字符串字段的索引设计往往是个棘手的问题。过长字符串的完整索引会占用大量空间,而不合适的索引又会导致查询性能低下。今天我们来探讨一个平衡的艺术——前缀索引。 字符串索引的现实挑战 假设我们正在开发一个内容管理平台,文章表结构如下: CREATE TABLE arti ...

MySQL索引(二):覆盖索引、最左前缀原则与索引下推详解

博主头像 MySQL系列文章 本文是MySQL索引系列的第二篇,接续前文《MySQL索引(一):从数据结构到存储引擎的实现》的基础知识,将深入探讨索引的高级特性和优化技巧。本文将通过实际案例,详细解析覆盖索引、最左前缀原则和索引下推这三个核心优化技术。 在数据库性能优化中,合理使用索引是最有效的手段之一。前文 ...

DDL

博主头像 MySQL中,以DML,DQL是最经常用的,其次是DDL,DCL,单表操作主要为增删改查. DDL操作 a.数据库操作(创建,查看,使用,删除): 1.创建数据库 #创建数据库 create database 数据库名称; #当数据库不存在时,创建数据库 create database if not ...

MySQL统计分析binlog的数量与大小

博主头像 脚本介绍 脚本mysql_binlog_gen_sum的功能与用途如下所示: 按天统计MySQL的binlog的生成数量(个数)与大小(Size)信息.用于数据分析. 按小时统计MySQL的binlog的生成数量(个数)与大小(Size)信息.用于数据分析. 写这个脚本的初衷是想实现类似Oracle ...

MySQL中root用户密码管理

博主头像 前言 记录一下mysql中root用户密码的管理方式,mysql中root用户密码管理方式主要分为三个场景: 场景一:首次部署mysql,需要设置root用户密码 场景二:已知mysql的root用户密码,但是需要修改对应的密码(例如定期更新密码) 场景三:忘记root密码,需重置root用户密码 ...

MySQL

博主头像 MySQL基础操作指南,涵盖MySQL初始化与卸载步骤、数据库操作命令、SQL功能分类(DDL、DML、DQL、DCL)、表的定义与结构管理(创建、修改、删除表及字段)、数据的增删改操作,以及数据查询语句(含聚合函数、分组、排序、分页等),通过简洁的命令示例系统介绍了MySQL的核心使用方法。 ...

MySQL学习笔记

本篇摘录自黑马程序员的B站教学视频,由本人学习视频内容后总结并提取摘要制作而成的简要笔记。本笔记只记录到进阶篇(大部分),剩下的进阶篇以及运维篇由于本人职业生涯没有用武之地,所以没有进行学习。 黑马程序员黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括 ...

案例分析:MySQL 并行复制竟然比单线程慢?

博主头像 最近碰到一个 case,发现在特定场景下,并行复制竟然比单线程复制要慢。 现象 从某个时间点开始,从库的复制延迟持续增加,且没有下降的趋势。 数据库版本:8.0.40,事务隔离级别 RC(Read Committed),并行重放线程数(replica_parallel_workers)为 8。 分析 ...

MYSQL主从配置

博主头像 1、Mysql主从配置 MySQL的主备(主从)配置是一种常见的数据高可用性和数据备份方案,主要用于实现数据的实时复制,确保数据的一致性和系统的容错能力。下面我将详细介绍如何配置MySQL的主备环境。 1.1、 环境准备 确保你的服务器上已经安装了MySQL,并且至少有两台服务器,一台作为主服务器( ...

MySQL 33 我查这么多数据,会不会把数据库内存打爆?

博主头像 有这样一个问题:主机内存只有100G,现在要对一个200G的大表做全表扫描,会不会把数据库主机的内存用完?想想逻辑备份,也是整库扫描,因此对大表做全表扫描看起来是没有问题的,那么这个流程到底是怎样呢? 全表扫描对server层的影响 假设现在要对一个200G的InnoDB表db1.t执行全表扫描,若 ...

MySQL性能分析(三)之optimizer_trace详解

博主头像 一、概述 optimizer_trace是MySQL 5.6引入的一项跟踪功能,它可以跟踪优化器做出的各种决策(比如访问表的方法、各种开销计算、各种转换等),并将跟踪结果记录到information_schema.optimizer_trace表中。此功能默认关闭,开启后,可分析如下语句: sele ...

GreatSQL 优化技巧:最值子查询与窗口函数相互转换

博主头像 GreatSQL 优化技巧:最值子查询与窗口函数相互转换 导语 近期 SQL 优化过程中遇到两个案例,一个是将最值子查询改写为窗口函数,另一个是将窗口函数改写为最值子查询,觉得很有意思,特此记录分享一下。 SQL案例 两个 SQL 语句 SQL1: SELECT imei, c1 FROM (SEL ...

MySQL 32 为什么还有kill不掉的语句?

博主头像 MySQL有两个kill命令: kill query+线程id,表示终止该线程正在执行的语句; kill (connection)+线程id,表示断开这个线程的连接,如果线程有语句正在执行,会先停止正在执行的语句。 有时候可能会遇到:使用了kill,却没能断开该连接,再执行show processl ...

Mysql索引失效场景

博主头像 以下是导致索引失效的常见情况,分类并举例说明: 1. 对索引列进行运算或函数操作 当在索引列上使用函数、表达式、计算或类型转换时,MySQL无法直接使用索引来定位数据。 失效示例: sql -- 使用函数 SELECT * FROM users WHERE YEAR(create_time) = 2 ...

<123···13>