随笔分类 -  MySQL

摘要:查询语句优化 1. 避免使用select * 反例: select * from user where id=1; 在实际业务场景中,可能我们真正需要使用的只有其中一两列。此外,多查出来的数据,通过网络 IO 传输的过程中,也会增加数据传输的时间。最重要的一点是:select * 不走覆盖索引,会出 阅读全文
posted @ 2025-01-09 13:46 低吟不作语 阅读(11) 评论(0) 推荐(0) 编辑
摘要:mysqldump 实现 mysqldump 是 MySQL 自带的备份工具,可以选择性的导出库表(整库、多库、单库、多表、单表)数据为 sql 文件 导出所有数据库 # -t:等价于 --no-create-info,表示仅导出数据,不导出表结构 # -d:等价于 --no-data,表示不包含数 阅读全文
posted @ 2025-01-09 13:45 低吟不作语 阅读(8) 评论(0) 推荐(0) 编辑
摘要:分页实现 MySQL 使用 Limit 子句实现分页 select * from user limit [offset,] rows 第一个参数 offset 是可选的,指定第一个返回记录行的偏移量,如果不指定则默认从 0 开始 第二个参数 rows 指定返回记录行的最大数目 另一种实现语句如下 s 阅读全文
posted @ 2024-12-09 16:11 低吟不作语 阅读(44) 评论(0) 推荐(0) 编辑
摘要:概述 在实际工作中,在关系数据库(MySQL、PostgreSQL)的单表数据量上亿后,往往会出现查询和分析变慢甚至无法执行统计分析的情况。这时就需要将大表拆分为多个小表,将小表分布在多个数据库上,形成一个数据库集群。这样的话,一条 SQL 统计语句就可以在多台服务器上并发执行,然后将执行结果汇总, 阅读全文
posted @ 2024-09-15 16:04 低吟不作语 阅读(501) 评论(0) 推荐(2) 编辑
摘要:概述 explain 关键字可以模拟执行 sql 查询语句,输出执行计划,分析查询语句的执行性能 使用方式如下:explain + sql explain select * from t1 执行计划各字段含义 1. id 如果 id 序号相同,从上往下执行 如果 id 序号不同,序号大先执行 如果两 阅读全文
posted @ 2024-06-17 15:12 低吟不作语 阅读(245) 评论(0) 推荐(0) 编辑
摘要:概述 MySQL 的高可用主要通过主从复制来实现,同时在主从复制的基础上可以构建一个 MySQL 集群,来实现 MySQL 的读写分离,以实现 MySQL 的高并发操作 MySQL 主从复制主要解决的问题: 数据热备:可以实时将主库的数据通过复制的方式备份到另外一个从库中,如果主库发生意外,数据丢失 阅读全文
posted @ 2024-04-05 17:54 低吟不作语 阅读(63) 评论(0) 推荐(0) 编辑
摘要:查询条件有 or 假设在 customer_name 字段设置了普通索引,执行以下 sql: # type: ref, possible_keys: idx_customer_name, key: idx_customer_name # idx_customer_name 索引生效 explain 阅读全文
posted @ 2024-03-31 12:34 低吟不作语 阅读(245) 评论(0) 推荐(2) 编辑
摘要:转载自:https://blog.csdn.net/huyuyang6688/article/details/123028254 概述 MVCC 全称 Mutil-Version Concurrency Control,多版本并发控制,是一种并发控制方法,旨在减少读写操作的冲突 我们知道,当有多个事 阅读全文
posted @ 2024-01-31 16:35 低吟不作语 阅读(170) 评论(2) 推荐(1) 编辑
摘要:一条 SQL 查询语句结构如下: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY < 阅读全文
posted @ 2023-11-20 16:59 低吟不作语 阅读(110) 评论(0) 推荐(0) 编辑
摘要:概述 日志文件记录 MySQL 数据库运行期间发生的变化,当数据库遭到意外的损害时,可以通过日志文件查询出错原因,并进件数据恢复 MySQL 日志文件可以分成以下几类: 二进制日志:记录所有更改数据的语句,可以用于主从复制 错误日志:记录 MySQL 服务出现的问题 查询日志:记录建立的客户端连接和 阅读全文
posted @ 2022-05-03 22:28 低吟不作语 阅读(628) 评论(0) 推荐(3) 编辑
摘要:数据备份 1. 备份数据库 使用 mysqldump 命令可以将数据库中的数据备份成一个文本文件,表的结构和数据以 SQL 的形式将存储生成的文本文件 mysqldump -u username -p dbname>BackupName.sql 其中,dbname 代表数据库名称,BackupNam 阅读全文
posted @ 2022-05-02 18:05 低吟不作语 阅读(395) 评论(0) 推荐(0) 编辑
摘要:权限表 MySQL 服务器通过权限表来控制用户对数据库的访问,由 mysql_install_db 脚本初始化,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限 1. user 表 user 表是 MySQL 最重要的一个权限表,有 49 个字段,这些字段可以分成四类: 范围列:包括 Ho 阅读全文
posted @ 2022-05-01 16:19 低吟不作语 阅读(313) 评论(0) 推荐(1) 编辑
摘要:事务概述 当多个用户访问同一份数据时,一个用户在更改数据的过程中,可能有其他用户同时发起更改请求,为保证数据库记录的更新从一个一致性状态变为另外一个一致性状态,使用事务处理是非常必要的,事务具有以下四个特性: 原子性(Atomicity):事务中所有操作视为一个原子单位,即对事务所进行的数据修改等操 阅读全文
posted @ 2022-04-29 23:43 低吟不作语 阅读(640) 评论(0) 推荐(0) 编辑
摘要:概述 触发器是 MySQL 的数据库对象之一,不需要程序调用或手工启动,而是由事件来触发、激活,从而实现执行,包括 INSERT 语句、UPDATE 语句和 DELETE 语句 创建触发器 1. 创建有一条执行语句的触发器 CREATE trigger trigger_name BEFORE|AFT 阅读全文
posted @ 2022-04-23 21:38 低吟不作语 阅读(126) 评论(0) 推荐(0) 编辑
摘要:创建存储过程和函数 创建存储过程和函数就是将经常使用的一组 SQL 语句组合在一起,并将这些 SQL 语句当作一个整体存储在 MySQL 服务器 1. 创建存储过程 CREATE PROCEDURE procedure_name ([proc_param[,...]]) [characteristi 阅读全文
posted @ 2022-04-23 20:25 低吟不作语 阅读(959) 评论(0) 推荐(0) 编辑
摘要:概述 数据库中关于数据的查询有时非常复杂,例如表连接、子查询等,这种查询编写难度大,很容易出错。另外,在具体操作表时,有时候要求只能操作部分字段。 为了提高复杂 SQL 语句的复用性和表的操作的安全性,MySQL 提供了视图特性。所谓视图,本质上是一种虚拟表,同样包含一系列带有名称的列和行数据。行和 阅读全文
posted @ 2022-04-16 23:14 低吟不作语 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:索引的含义和特点 索引是创建在表上的,是对数据库表中一列或多列的值进行排序的一种数据结构,可以提高查询速度。索引类似于书籍目录,通过翻找目录,提取标题,可以快速定位到对应的章节 如上图,假如要执行 select * from book where title = '第一章',只要在索引页找到对应标题 阅读全文
posted @ 2022-04-16 16:06 低吟不作语 阅读(347) 评论(0) 推荐(0) 编辑
摘要:整数类型 标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩展支持了 TINYINT、MEDIUMINT 和 BIGINT 整数类型 字节数 无符号数的取值范围 有符号数的取值范围 TINYINT 1 (0,255) (-128,1 阅读全文
posted @ 2022-04-16 16:05 低吟不作语 阅读(679) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示