编程开发
未读国产数据库之TiDB:博采众长TiDB 是一款由 PingCAP 公司自主研发的国产开源分布式关系型数据库,同时支持在线事务处理与在线分析处理(HTAP),具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生分布式、兼容 MySQL 协议和生态等重要特性,支持在本地和云上部署。
TiDB 开源项目托管在 GitHub,目前已经获得了 39K Stars:
https://github.com/pingcap/tidb
体系架构TiDB 分布式数据库在内核设计上将整体架构拆分成了多个模块,各模块之间互相通信,组成完整的 TiDB 系统,整体的架构图如下:
主要包含以下几个模块:
• TiDB Server:SQL 层,对外暴露 MySQL 协议的连接 endpoint,负责接受客户端的连接,执行 SQL 解析和优化,最终生成分布式执行计划。TiDB 层本身是无状态的,实践中可以启动多个 TiDB 实例,通过负载均衡组件(如 TiProxy、LVS、HAProxy、ProxySQL 或 F5)对外提供统一的接入地址,客户端的连接可以均匀地分摊在多个 TiDB 实例上以达到 ...
一文读懂SQL查询的语法顺序、逻辑执行顺序与物理执行顺序区分SQL查询的语法顺序、逻辑执行顺序和物理执行顺序对于深入理解SQL优化和编写高效的查询至关重要。下面我来详细解释一下这三者:
*一、语法顺序(书写顺序)*SQL查询的语法顺序是代码编写时的语句排列顺序,主要用于规范语句结构。以常见的SELECT语句为例,语法顺序如下:
SELECT:指定要查询的列或表达式。
FROM:指定数据来源的表或视图。
WHERE:筛选行的条件。
GROUP BY:按指定列分组。
HAVING:筛选分组后的结果。
ORDER BY:对结果排序。
LIMIT/OFFSET(可选):限制返回行数或偏移量。
示例:
12345678SELECT [DISTINCT] 列FROM 表[JOIN 表 ON 条件]WHERE 条件GROUP BY 分组列HAVING 分组过滤条件ORDER BY 排序列LIMIT 行数
*二、逻辑执行顺序(数据库解析的执行顺序)*
FROM(定位数据源)
ON(应用连接条件)
JOIN(执行连接操作)
WHERE(行级过滤)
GROUP BY(分组聚合)
聚合函数( ...
SQL查询入门到实战:从基础操作到场景应用一、SQL 执行顺序1234567891011-- SQL 的执行顺序(非书写顺序)如下:-- 1、FROM → 加载数据源(表、视图)-- 2、JOIN / ON → 连接其他表-- 3、WHERE → 行级过滤(不能使用 SELECT 中的别名)-- 4、GROUP BY → 按字段分组(每组生成一行)-- 5、HAVING → 对分组后的结果过滤(可使用聚合函数)-- 6、SELECT → 选择要返回的列或表达式-- 7、DISTINCT → 去除完全重复的行-- 8、ORDER BY → 对最终结果排序-- 9、LIMIT / OFFSET → 分页,限制返回行数
说明:因为 WHERE 在 SELECT 之前执行,所以我们不能在 WHERE 中使用 SELECT 中定义的别名。示例:
12345-- ❌ 错误写法SELECT age + 1 AS next_age FROM users WHERE next_age > 19; -- ✅ 正确写法SELECT ...
编程开发
未读mysqldump命令介绍123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134mysqldump数据备份命令(逻辑备份)日常使用最为频繁的命令之一,也是中小企业或者说数据量不大的情况下常用的数据库备份命令,非常实用。mysqldump --help #mysql数据库备份命令(逻辑备份)Usage: mysqldump [OPTIONS] database [tables] mysqldump [OPTIO ...
搞懂这3种常见SQL语句顺序,才算真正会写SQL!我们为什么需要理解SQL语句的执行顺序?理解SQL语句在数据库内部的真实执行流程,对我们写出高效、正确、可维护的SQL查询语句非常重要。SQL(Structured Query Language)是关系型数据库的标准查询语言,语法结构看似线性排列(如:SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT),实际执行顺序与书写顺序并不一致。不同数据库(如:MySQL、PostgreSQL、SQL Server、Oracle)虽然在语法细节和优化器实现上存在差异,但SQL语句实际执行顺序的基本逻辑一致。我们只要掌握这一实际执行顺序的基本逻辑,再搞清楚各数据库的特性差异,就能让我们在跨库SQL、性能调优、错误排查等方面得心应手。
一、通用SQL语句执行顺序(逻辑模型)无论我们使用哪种关系型数据库,一条标准SELECT查询语句的逻辑执行顺序(Logical Processing Order)如下:
123456781、FROM/JOIN2、WHERE3、 ...
编程开发
未读数据库建表/SQL/索引规范一、建表规约【强制】(1) 存储引擎必须使用InnoDB
解读:InnoDB支持事物、行级锁、并发性能更好,CPU及内存缓存页优化使得资源利用率更高。
【强制】(2)每张表必须设置一个主键ID,且这个主键ID使用自增主键(在满足需要的情况下尽量短),除非在分库分表环境下
解读:由于InnoDB组织数据的方式决定了需要有一个主键,而且若是这个主键ID是单调递增的可以有效提高插入的性能,避免过多的页分裂、减少表碎片提高空间的使用率。 而在分库分表环境下,则需要统一来分配各个表中的主键值,从而避免整个逻辑表中主键重复。
【强制】(3)必须使用utf8mb4字符集
解读:在Mysql中的UTF-8并非“真正的UTF-8”,而utf8mb4”才是真正的“UTF-8”。
【强制】(4) 数据库表、表字段必须加入中文注释
解读:大家都别懒。
【强制】(5) 库名、表名、字段名均小写,下划线风格,不超过32个字符,必须见名知意,禁止拼音英文混用
解读:约定。
【强制】(6)单表列数目必须小于30,若超过则应该考虑将表拆分
解读:单表列数太多使得Mysql ...
编程开发
未读MySQL相关操作知识 Mysql相关操作知识
ドラゴンボールのLong Lv4
2021-08-06 08:19:24 技术 ...
编程开发
未读番茄科技-电脑,手机,网络知识,应用分享
当前位置:番茄科技-电脑,手机,网络知识,应用分享 PVE
PVE all in one保姆级教程:iKuai+iStoreOS, 核显SR-IOV, 飞牛fnOS, 黑群晖, TrueNAS, Windows102025-01-10 分类:PVE / 电脑技术 阅读(72751) 评论(1) 赞(119)
本文可以结合博主操作视频参考安装,更便于理解。
视频地址:https://www.bilibili.com/video/BV1UtfBY5Esq/
一、PVE系统安装1、下载PVE系统及写盘软件PVE系统官网下载(选择种子下载更快):点此下载
PVE网盘下载:1️⃣阿里云盘下载链接:https://www.alipan.com/s/S5L8YwXmVMS提取码: n1a52️⃣百度云盘下载链接:https://pan.baidu.com/s/1xy5sSc9W-PoJh6GBFgqGTg?pwd=fqkj提取码:fqkj3️⃣夸克网盘下载链接:https://pan.qu ...
1.更新系统软件包:1sudo yum update
在安装过程中,可能会提示是否更新软件包,输入 y 确认即可。
直到最后,出现 Complete! 表示更新完成。
2.安装 Nginx:1wget http://nginx.org/download/nginx-1.24.0.tar.gz
注意:请根据需求替换 Nginx 的版本号。
3.解压并进入源码目录:1tar -zxvf nginx-1.24.0.tar.gz
进入源码目录:
1cd nginx-1.24.0
4.安装依赖确保系统有编译 Nginx 所需的依赖包:
1sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
5.配置安装路径将 Nginx 安装目录设置为 /usr/local/nginx,使用 ./configure 命令指定安装目录:
12345./configure --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx ...
运维新手福音:Docker一条命令,拥有强大的Nginx-UI可视化管理后台1、nginx-ui简介nginx-ui 是一款现代化的、基于 Web 的图形化管理工具,专为简化 Nginx 服务器的配置、部署与监控而设计。它通过将复杂的文本配置转化为直观的可视化操作界面,极大地降低了 Nginx 的使用和维护门槛。
2、nginx-ui主要功能1. 可视化配置管理:告别命令行,拥抱点击式操作
核心功能可视化:无需手动编辑晦涩的 nginx.conf 文件。通过清晰的 Web 界面,即可轻松配置:
HTTP/HTTPS 服务器:快速创建和管理虚拟主机。
反向代理:轻松设置代理规则,将请求转发到内部服务。
负载均衡:直观配置 upstream 组,支持轮询、权重、IP Hash 等多种策略。
静态资源服务:简单设置根目录、索引文件等。
配置验证:每次保存前自动检查语法正确性,避免因配置错误导致服务中断。
实时生效:配置完成后,一键应用即可无缝重载 Nginx,无需重启服务。
2. 全生命周期 SSL 证书管理:一键开启 HTTPS 时代
自动化证书申请与续签:无缝集成 Let ...
