MySQL的索引详细介绍(全网最新整理)
目录1.什么是索引1.1 索引的数据结构1.1.1 Hash表1.1.2 二叉查找树1.1.3 平衡二叉树1.1.4 B树1.1.5 B+树2.索引的优缺点3.索引的使用场景4.索引的分类4.1 主键索引4.2 唯一索引4.3 单值索引(单列索引)4.4 复合索引(组合索引)4.5 普通索引4.6 全文索引4.7 空间索引4.8 前缀索引4.9 覆盖索引5.索引测试6.性能分析6.1 Mysql常见 ...
mysql如何查询用户操作日志
目录一、概述二、配置总结一、概述
先简单介绍一下general log,这个日志主要的作用是记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中,包括操作的用户ip都会记录在里面。
注意:
默认情况下这个是关闭的,因为会影响性能。
但是如果有遇到审 ...
MySql常用SQL命令详解
目录一、E-R模型二、数据类型三、字段命名规范四、数据库创建与管理4.1 创建数据库4.2 删除数据库4.3 列出数据库4.4 备份数据库4.5 还原数据库4.6 使用某个数据库五、数据表创建与管理5.1 创建表5.2 查看表结构5.3 查看数据表5.4 复制表结构5.5 复制表数据5.6 修改表名5.7 增加字段5.8 删除字段5.9 修改字段数据类型5.10 修 ...
MySQL隐蔽BUG:组合条件查询无故返回空集的排查与规避方案
目录引言1. 问题背景数据库版本:MySQL8.0.402. 问题分析及排查2.1 字符集和校对规则方面2.2 索引相关问题2.3 主键降序排列的影响2.4 MySQL 版本兼容性3. 小结引言
在数据库日常运维中,“查询结果不符合预期” 是高频问题,但多数情况可归因于 SQL 语法、数据异常或索引设计。而本次遇到的案 ...
mysql中添加索引的3种方法及使用注意事项详解
目录一、MySQL 创建索引的三种方法1.1 在新建表时创建索引1.2 在已存在表上通过CREATE INDEX添加索引1.3 通过ALTER TABLE修改表结构添加索引二、MySQL 索引类型与适用场景三、索引使用注意事项与限制有效使用索引的场景索引失效的常见情况四、索引的优缺点优点缺点五、InnoDB 与 MyISAM 索引差异六、索引优化工具:EXPLAIN ...
MySQL数据库索引和事务图文详解
目录索引一. 索引的重要性二. 理解索引三. 索引操作1. 创建索引2. 查询索引3. 删除索引事务一. 什么是事务二. 事务提交方式三. 事务操作方式四. 事务隔离级别总结索引
一. 索引的重要性
MySQL 的索引就是数据结构,能够对多列的值进行排序来更快的进行查询数据。索引就像是一本书的目录,通过目录我们可以快速定位到数据所 ...
MySQL数据库从安装到理解
目录MySQL与MariaDB:同源而生的数据库系统一、MySQL的安装与初步配置1. 更新系统软件包列表2. 安装MySQL服务器3. 检查MySQL服务状态4. 首次登入MySQL5. 为root用户配置密码步骤一:查看当前认证方式步骤二:修改认证方式并设置密码步骤三:刷新权限二、MySQL的彻底卸载流程三、重置遗忘的root密码四、数据库基础核心概念的 ...
mysql的jsonTable使用及说明
目录以下是jsontable的语法使用示例NESTED PATH 嵌套路径横向派生表总结JSON_TABLE 是 MySQL 8.0 中一个新的 JSON 函数。它也是一个表函数,返回值不是标量值而是结果集。
JSON_TABLE 将 JSON 文档(部分或全部)转换为关系表,以便您可以像使用普通表一样使用它。
JSON_TABLE 函数从一个指定的 JSON 文档中提取数据并返回一 ...
MySQL聚合、日期、字符串等函数深度剖析
目录MySQL系列前言一、聚合函数二、日期函数三、字符串函数四、数学函数五、其他函数MySQL系列
前言
MySQL 提供了丰富的内置函数,用于处理数据、执行计算、转换格式等操作,本篇将介绍MySQL中常用的一些函数。本篇文章内容已操作为主
这里的函数比较简单,不再解释了,再对其解释就有一种强说愁的感觉了
上篇文章:MySQL ...
MySQL数据库内置函数和内外连图文教程
目录一. 内置函数1. 日期函数2. 字符串函数3. 数学函数4. 其他函数二. 内外连接1. 内连接2. 外连接(1)左外连接(2)右外连接总结 一. 内置函数
1. 日期函数
current_date(),current_time(),current_timestamp()
描述当前日期,描述当前时间,描述当前时间戳
案例:
date_add(date,interval d_value_type),date_s ...
Java项目中mysql深度分页解决方案大全
目录前言1. 为什么LIMIT offset, size会慢2. 总原则(你只要记住这三条)3. 方案一:游标分页(Keyset / Seek Method)最推荐3.1 思路3.2 单字段排序:按自增/雪花 id3.3 复合排序:按时间 + id(更通用)3.4 Spring Boot + MyBatis 示例DTO:分页请求/响应Mapper(XML 方式示例:复合游标)Service:返回下一页游标4. 方案 ...
MySQL数据类型之字符串、数字、日期详解
目录前言1. 字符串(String)数据类型1.1 定长与变长字符串CHAR vs. VARCHAR1.2 TEXT 和 BLOBTEXT vs. VARCHAR2. 数字(Numeric)数据类型2.1 整数类型2.2 浮点与定点类型FLOAT vs. DECIMAL3. 日期与时间(Date & Time)DATETIME vs. TIMESTAMP4. 选择数据类型的最佳实践总结前言
在 MySQL 中,选择合适的数据类型对于数据 ...
MySQL加索引会导致数据库锁表吗
目录1. MySQL不同版本的区别MySQL 5.6及之前版本MySQL 5.6及之后版本(Online DDL)2. 不同索引创建方式的锁表情况创建普通二级索引(最常见场景)创建主键索引或改变主键创建全文索引或空间索引3. Online DDL的具体行为支持的Online DDL操作(通常不锁表)可能需要锁表的操作4. 查看DDL操作的锁机制查看DDL操作是否支持Onl ...
MySQL表的约束与基本查询图文详解
目录一. 表的约束1. 空属性2. 默认值3. 列描述4. zerofill5. 主键6. 自增长7. 唯一键8. 外键二. 基本查询1. Create(1)单行数据 + 全列插入(2)多行数据 + 指定列插入(3)插入否则更新(4)替换2. Retrieve(1)SELECT 列(2)WHRER 条件(3)结果排序(4)筛选分页结果3. Update4. Delete5. 聚合函数总结 一. 表的 ...
对线面试官系列:MySQL 执行流程,清晰易懂!
@目录前言背景执行流程图解层级介绍Server 层存储引擎层连接器解析器预处理器优化器执行计划总结
前言
请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i、微信公众号:白码梦想家
提示:以下是本篇文章正文内容,下面案例可供参考
背景
Hello 朋友们,今天是元旦也是新的一年,祝大家元旦快乐!新年继续奋发向上 ...
Mysql的instr()函数用法及说明
目录Mysql的instr()函数用法mysql的内置函数instr(filed,str)当instr(filed,str)=0时下面是一段mapper.xml的部分示例代码 总结Mysql的instr()函数用法
mysql的内置函数instr(filed,str)
作用是返回str子字符串在filed字符串的第一次出现的位置。
当instr(filed,str)=0时
表示子符串str不存在于字符串filed中,因此可以 ...
深入理解MySQL联合索引最左匹配原则
目录什么是联合索引?什么是最左匹配原则?核心要点:举例说明✅场景一:完全匹配最左列✅场景二:匹配所有列✅场景三:匹配最左连续列❌场景四:跳过最左列⚠️场景五:包含最左列,但中间有断档⚠️场景六:最左列是范围查询总结与最佳实践什么是联合索引?
首先,要理解最左匹配原则,得先知道什么是联合索引。
单列索引 ...
一文带大家深入了解下MySQL中的慢查询日志
目录一、什么是慢查询日志二、核心作用三、配置参数详解四、开启和配置1. 临时开启(重启失效)2. 永久开启(修改配置文件)五、慢查询日志格式分析典型日志条目关键字段解释六、慢查询分析工具1.mysqldumpslow(MySQL 自带)2.pt-query-digest(Percona Toolkit)3.mysqlslow(第三方工具)七、慢查询日志表模式启用表模式 ...
深入讲解MySQL事务的ACID特性、隔离级别、实现原理及锁机制
目录一、MySQL事务简单介绍二、事务特性ACID介绍(一)原子性(Atomicity)(二)一致性(Consistency)(三)隔离性(Isolation)(四)持久性(Durability)三、事务隔离级别四、MySQL事务实现原理(一)事务原理总述(二)undo log 原子性分析(三)redo log 持久性分析(四)多版本并发控制(MVCC)隔离性分析(五 ...
在 MySQL 中快速的复制一张表包括表结构和数据
目录一、MySQL 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE TABLE ... SELECT ...(最简全量复制)方法 2:CREATE TABLE ... LIKE ... + INSERT INTO ... SELECT ...(完整结构复制)方法 3:mysqldump工具(跨实例/大数据量复制)方法 4:物理文件复制(超大表极致效率)二、面试总结(核心对比+ ...