• MySQL中的SQL Mode及其作用

    与其它数据库不同,MySQL可以运行在不同的SQL Mode下。SQL Mode定义MySQL应该支持什么样的SQL语法,以及它应该执行什么样的数据验证检查。SQL Mode可以设置为一组应做检查的代号列表(模式值列表),也可以设置为预定义好的组合代号。MySQL 5.7中的默认SQL Mode包括 2025-03-10 00:11:56
  • 当Mysql - InnoDB行锁遇到复合主键和多列索引

    背景今天在配合其他项目组做系统压测,过程中出现了偶发的死锁问题。分析代码后发现有复合主键的update情况,更新复合主键表时只使用了一个字段更新,同时在事务内又有对该表的insert操作,结果出现了偶发的死锁问题。比如表t_lock_test中有两个主键都为primary key(a,b),但是更新 2025-03-09 00:32:22
  • MySQL的深入浅出

    Mysql如何执行一条sql Mysql执行一条sql,经历了哪些步骤呢?数据库接收到客户端发送的请求,会从数据库自己的连接池中,拿出一个线程来监听这个请求,以及从请求中拿到sql语句。拿到sql语句以后就会去调用sql接口,sql接口就要完成接下来对sql语句的一系列的操作。那么首先,由解析器对s 2025-03-08 01:05:43
  • mysql 打开binlog 日志

    Binlog日志,即binary log,是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即主节点维护一个binlog日志文件,从节点从binlog中同步数据,也可以通过binlog日志来恢复数据。登录mysql查看binlog日志的状态,输入show variables like 2025-03-07 00:18:33
  • MySQL操作之DCL

    SQL 语句分类名字类型作用的对象作用DDL 英文全称 (Data Definition Language)数据定义语言库、表、列创建、删除、修改、库或表结构,对数据库或表的结构操作DML 英文全称(Data Manipulation Language)数据操作语言数据库记录 (数据)增、删、改,对 2025-03-07 00:12:02
  • MySQL是如何对LRU算法进行优化的?又该如何对MySQL进行调优?

    1. 开篇MySQL 在查询数据时,对于 InnoDB 存储引擎而言,会先将磁盘上的数据以页为单位,先将数据页加载进内存,然后以缓存页的形式存放在「Buffer Pool」中。Buffer Pool 是 InnoDB 的一块内存缓冲区,在 MySQL 启动时,会按照配置的缓存页的大小,将 Buffe 2025-03-07 00:09:06
  • Mysql exists用法小记

    简介EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。EXISTS 指定一个子查询,检测行的存在。语法:EXISTS subquery。参数 subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INT 2025-03-06 00:23:11
  • 面试官:如何正确的清理Mysql数据库binlog日志?

    概述今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。1、查看binlog日志mysql> show binary logs;2、删除某个日志文 2025-03-05 00:00:22
  • 关于mysql索引创建和修改,这次终于弄懂了

    作为一名java程序员,对于mysql的索引相信都不陌生。当我们在数据库表中查询数据时,若数据表没有索引,会逐个遍历表格中的所有数据,要是遇到表的数据很大时,查询就会很耗时。建立索引就像创建目录一样,索引(Index)是帮助mysql高效获取数据的数据结构,索引可以提高查询效率。例如:有一张用户表, 2025-03-04 00:17:42
  • MySQL:checksum验证数据一致性

    MySQL主从复制场景下,经常会担心主从数据不一致,那么我们可以使用checksum命令来对比主从库之间的数据一致性。语法结构:checksum table <table-name>checksum命令能够对比数据库表结构(定义顺序)、数据的一致性,当然两个数据库最好在同一维度上(操作系 2025-03-03 00:17:08