MySQL锁原理、加锁机制

MySQL 

嘛是锁?呐,这个就是锁了。那有了锁,对应是不是就要有钥匙了,有有有,查询占领锁的那条语句直接 kill 掉就行(后面再说)。当然了数据库里面的锁可不长这个样子,这里只是让读者对锁有个现实的印象。 那为什么要有锁呢?这个问题问的好,你外出上班门要不要上锁,那肯定要啊,不然就有小偷上门关顾的风险。好了好

MySQL Replication

MySQL 

MySQL副本集介绍 MySQL InnoDB ReplicaSet(也叫MySQL副本集,有些地方也翻译成MySQL复制集)是在 MySQL 8.0.19 版本(2020-01-13 Released)之后开始支持的,MySQL副本集中拥有一个primary节点,一个或多个secondary节点,

MySQL权限与角色

MySQL 

MySQL 权限介绍 MySQL 权限范围可分为三类: 管理整个数据库实例,比如 root 超级管理员,一般只能 localhost 本地访问,有些初学者安装好 MySQL 之后喜欢把 root 的 localhost 改成 %(允许任何 IP 进行访问)。但自己本地学习可以,但是在生产环境严禁这样

浅谈各种表空间

MySQL 

mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一下这些表空间的概念。 独立表空间与共享表空间 在 MySQL InnoDB 存储引擎中,存在独立表空

MySQL 8 密码策略管理

MySQL 

一 密码管理 #查看密码管理策略 mysql> show variables like 'password%'; +--------------------------+-------+ | Variable_name | Value | +------------------

揭秘执行计划


一、执行计划的解释 (一) EXPLAIN 参数解释 PostgreSQL中EXPLAIN命令的语法格式如下: EXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statement

填充因子


HOT 更新 PostgreSQL 有一种方法可以只更新堆(表),而不必更新所有索引。这称为 HOT 更新,HOT 代表仅堆元组。 现代版本的 PostgreSQL 能够执行 HOT(仅堆元组)更新。当一个行的新版本可以存储在与原始版本相同的页面上时,将发生 HOT 更新,而无需将该行移动到新页面。

SQL优化子查询上拉


根据该篇文章做的实验发现个有趣的现象,所以记录下来。 CREATE TABLE t1 (a INT, b INT); INSERT INTO t1 SELECT i, 1 FROM generate_series(1, 100000) i; CREATE TABLE t2 AS SELECT * F

SQL 优化之 OR 子句改写


前言 在常见的 SQL 优化技巧中,将 OR 语句改写为 UNION 是一种常见的手段。当 OR 连接的两个条件互斥时,可以改写为 UNION ALL,从而避免去重操作,进一步提升查询性能,主要原因在于优化器在处理 OR 时,很难充分利用已有的索引,导致查询计划可能退化为全表扫描或较低效的执行方式。

my.cnf配置文件详解

MySQL 

[client] port = 3306 socket = /data/mysql/mysql/mysql.sock default-character-set=utf8mb4 [database] character_set_database=utf8mb4 [mysql] prompt = "\