MySQL 04 深入浅出索引(上)
索引的常见模型
实现索引的方式有很多种,这里先介绍三种常见结构:哈希表、有序数组和搜索树。
哈希表:只适用于只有等值查询的场景。
有序数组:在等值查询和范围查询场景中的性能都非常优秀,但是在更新数据的时候需要挪动大量记录。因此,只适用于静态存储引擎。
二叉搜索树:树层数可能很高,可能一个节点上的数据在一 ...
MySQL 03 事务隔离:为什么你改了我还看不见?
事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的,这也是InnoDB取代MyISAM的重要原因之一。
隔离性与隔离级别
事务的四大特性:原子性、一致性、隔离性、持久性。本文主要讨论隔离性。
当数据库上有多个事务同时执行的时候,可能出现脏读、不可重复读、幻读的问题,为了解 ...
16. MySQL 多版本并发控制
16. MySQL 多版本并发控制
@目录16. MySQL 多版本并发控制1. 什么是MVCC2. 快照读与当前读2.1 快照读2.2 当前读3. 复习3.1 再谈隔离级别3.2 隐藏字段、Undo Log版本链4. MVCC实现原理之ReadView4.1 什么是ReadView4.2 设计思路4.3 ReadView的规则4.4 MVCC整体操作流程5. 举例说明5.1 READ COMMITTED隔离级别下5.2 REPEATABL ...
(二) 初次使用MySQL
摘要
本文会围绕mysql会话来详细地介绍会话的获取、使用和终止的整个过程,主要包括:
登入mysql会话:通过mysql调用命令和身份凭证获取会话资格。
使用mysql会话:比如编写SQL语句、执行SQL语句和取消已执行的SQL语句。
登出mysql会话
此外,在文章的最后,还提供了快速调用mysql的几种方式,读者可根据自己的需要有选择 ...
GreatSQL通过伪装从库回放Binlog文件
GreatSQL通过伪装从库回放Binlog文件
一、适用场景说明
1、主库误操作恢复
利用 Binlog 在其他实例解析、回放,根据gtid只回放到指定位点。
2、网络隔离环境同步
备份恢复后可以拉去主库Binlog文件至新实例同步增量数据。
3、备份恢复遇到Binlog文件过大处理
恢复实例时有可能主库的 Binlog 超过限定大小,无法用mysqlbinlo ...
12 MySQL 数据库其它调优策略
12 MySQL 数据库其它调优策略
@目录12 MySQL 数据库其它调优策略1. 数据库调优的措施1.1 调优的目标1.2 如何定位调优问题1.3 调优的维度和步骤第1步:选择适合的 DBMS第2步:优化表设计第3步:优化逻辑查询第4步:优化物理查询第5步:使用 Redis 或 Memcached 作为缓存第6步:库级优化2. 优化MySQL服务器2.1 优化服务器硬件 ...
MySQL 01 基础架构:一条SQL查询语句是如何执行的?
比如执行一条查询语句:
select * from T where ID=10;
首先给出MySQL的基本架构示意图,从中也可以看到执行过程:
基本结构分为两部分:
Server层。里面包含连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL大多数核心服务功能,以及所有内置函数。
存储引擎层。负责数据存储和提取,是插件式的,支持多种存 ...
11-3 MySQL 中对于 PowerDesigner 的使用
11-3 MySQL 中对于 PowerDesigner 的使用
@目录11-3 MySQL 中对于 PowerDesigner 的使用1. PowerDesigner的使用1.1 开始界面1.2 概念数据模型1.3 物理数据模型1.4 概念模型转为物理模型1.5 物理模型转为概念模型1.6 物理模型导出SQL语句2. 最后:
这篇文章是我蹲在《尚硅谷》-康师傅博主家的 WiFi 上(不是),连夜 Ctrl+C / ...
用systemd管理GreatSQL服务详解
用systemd管理GreatSQL服务详解
1.GreatSQL服务文件
官网 greatsql.service 文件
[Unit]
Description=GreatSQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
# 本 ...
100条常用SQL语句
一、基本查询语句
查询所有数据:
SELECT * FROM 表名;
查询特定列:
SELECT 列名1, 列名2 FROM 表名;
条件查询:
SELECT * FROM 表名 WHERE 条件;
模糊查询:
SELECT * FROM 表名 WHERE 列名 LIKE '模式%';
排序查询:
SELECT * FROM 表名 ORDER BY 列名 ASC|DESC;
限制返回行数:
SELECT * FROM 表名 LIMIT 10;
去 ...
10-1 MySQL 索引优化与查询优化
10-1 MySQL 索引优化与查询优化
@目录10-1 MySQL 索引优化与查询优化1. 数据准备2. 索引失效案例2.1 索引字段:全值匹配最优2.2 索引字段:最佳左前缀法则2.3 主键插入顺序2.4 索引字段进行了:计算、函数、类型转换(自动或手动)导致索引失效2.5 索引字段类型转换导致索引失效2.6 索引字段:使用了范围条件,右边的列索引失 ...
MySQL索引失效场景
MySQL 索引优化是提升查询性能的关键手段之一,但有时使用不当会导致索引失效。今天我们一起来看看哪些情况下索引会失效。
1、联合索引没有使用最左前缀
失效示例:联合索引 (a,b,c)
SELECT * FROM table WHERE b=1 AND c=2; -- ❌ 索引失效
正确写法:
WHERE a = ? -- ✅
WHERE a = ? AND b = ? -- ✅
W ...
MySQL-查询命令
MySQL查询命令
学习资料来源:数据库原理与应用——MySQL从入门到实战
单表查询(一)
基本查询语句
查询数据表中指定字段的内容
MySQL从数据表中查询数据的基本语句为SELECT语句。
SELECT语句的可选参数比较多,让我们先从最简单的开始,带大家一步一步的深入SELECT语句的使用。
SELECT 基本语法规则为: SELECT 字段名 FR ...
终止分区表变更操作时误删数据字典缓存导致MySQL崩溃分析
终止分区表变更操作时误删数据字典缓存导致MySQL崩溃分析
1. 问题简述
在 MySQL 中,当终止一个处于 committing alter table to storage engine 阶段的分区表操作时,InnoDB 会尝试进行回滚并清理数据字典缓存。不幸的是,过程中发生了误删表缓存对象的情况 —— InnoDB 错误地移除了另一张非目标表的缓存条目,导致引用计 ...
在 OceanBase 中,如何应对存储引擎的读放大问题?
首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 “老纪的技术唠嗑局”,会持续更新和 #数据库、#AI、#技术架构 相关的各种技术内容。欢迎感兴趣的朋友们关注!
前言
OceanBase 的 LSM-Tree 存储引擎天生具有高效的写入性能,而且既能够通过旁路导入高效处理定期的批量数据同步,又能够承载一些实时数据同步和历史 ...
MySQL派生表查询大数据量无结果问题分析与解决
MySQL派生表查询大数据量无结果问题分析与解决
一、问题发现
在客户现场的一次问题报告中发现某个带有派生表进行查询的时候,数据量少的时候有结果,但是数据量大的时候返回无记录。看下面例子:
1、准备表
CREATE TABLE `cmdb_item` (
`cm_item_id` varchar(350) NOT NULL,
`cm_model_id` varchar(350) NOT NULL,
PR ...
GreatSQL从库报错13146:字符集不一致问题处理
GreatSQL从库报错13146:字符集不一致问题处理
1.问题概述
需要将数据反向同步到源端,在使用 SELECT INTO OUTFILE 和 LOAD DATA 的方式进行数据恢复后配置同步,从库发生报错13146数据类型转换失败,导致同步异常;通过对比表结构和列的字符集,发现主从库相关表、列字符集设置不一致,修改为一致后,同步正常。
2.问题复 ...
世事洞明皆学问 — 如何理解 OB 4.x 版本中的日志流?
首先为大家推荐这个 OceanBase 开源负责人老纪的公众号 “老纪的技术唠嗑局”,会持续更新和 #数据库、#AI、#技术架构 相关的各种技术内容。欢迎感兴趣的朋友们关注!
最近与 DBA 进阶教程群和社区论坛的小伙伴交流时,很多人都纷纷提出同一个问题:谁能告诉我到底什么叫 “日志流” ?
今天就为大家分享一篇庆涛大佬最近 ...
工具分享-从ibd文件中恢复数据的神器ibd2sql
工具分享-从ibd文件中恢复数据的神器ibd2sql
1. ibd2sql 的使用场景
在单节点单表表空间损坏的情况下,一般我们想到的方法是从最近的备份中恢复表数据并从Binlog中合并数据。
假如备份和Binlog缺失,那就只能从ibd文件中紧急恢复数据,可以使用 ibd2sql 这个工具去恢复数据。
2. ibd2sql 简介
ibd2sql is tool of transform ...
dbops 助力 GreatSQL MGR架构安装部署
dbops 助力 GreatSQL MGR架构安装部署
在上一篇中讲到了如何使用 dbops 部署 GreatSQL 主从架构,这篇中将介绍如何使用 dbops 部署MGR架构。
dbops 助力 GreatSQL 单机架构安装部署
dbops 助力 GreatSQL 主从架构安装部署
部署 GreatSQL MGR 架构,还可启用 GreatSQL 的动态 VIP 功能,以及仲裁节点功能。
环境介绍
本 ...