数据库
文章平均质量分 83
蓝布棉
这个作者很懒,什么都没留下…
展开
-
MySQL 45 讲 | 17 如何正确地显示随机消息?
介绍了MySQL对临时表排序的执行过程;order by rand()使用了内存临时表,内存临时表排序的时候使用了rowid排序方法 ;临时表过大时,使用磁盘临时表,使用优先队列排序算法(最大堆);随机算法中代码配合拼接SQL语句;原创 2022-09-20 12:10:15 · 99 阅读 · 0 评论 -
MySQL 45 讲 | 16 “order by”是怎么工作的?
order by语句的几种算法流程;全字段排序,可能会用到外部排序;rowid排序;如果MySQL认为内存足够大,会优先选择全字段排序;使用索引可以提高效率,不需要临时表,不需要排序原创 2022-09-17 12:41:44 · 549 阅读 · 0 评论 -
MySQL 45 讲 | 14 count(*)这么慢,我该怎么办?
计算一个表的行数的语句为:` select count(*) fromt `。 本文介绍`count(*)`语句是怎样实现的,以及MySQL为什么会这么实现。如果应用中有这种频繁变更并需要统计表行数的需求,业务设计上可以怎么做。...原创 2022-08-25 20:08:26 · 245 阅读 · 0 评论 -
MySQL 45 讲 | 13 为什么表数据删掉一半,表文件大小不变?
数据库中收缩表空间的方法;delete掉表里面不用的数据的话,表文件的大小是不会变的;通过alter table命令重建表,才能达到表文件变小的目的;重建表的两种实现方式:Online DDL的方式是可以考虑在业务低峰期使用的;MySQL 5.5及之前的版本,这个命令是会阻塞DML的......原创 2022-08-16 17:11:31 · 317 阅读 · 0 评论 -
MySQL 45 讲 | 11 怎么给字符串字段加索引?
字符串字段创建索引的场景。创建完整索引,比较占用空间;创建前缀索引,节省空间,但会增加查询扫描次数,并且不能使用覆盖索引;倒序存储,再创建前缀索引,用于绕过字符串本身前缀的区分度不够的问题,不支持范围扫描 ;hash字段索引,查询性能稳定,有额外的存储和计算消耗,不支持范围扫描。......原创 2022-08-02 22:27:43 · 154 阅读 · 0 评论 -
MySQL 45 讲 | 10 MySQL为什么有时候会选错索引?
索引统计的更新机制,优化器存在选错索引的可能性。对于由于索引统计信息不准确导致的问题,可以用analyze table来解决。而对于其他优化器误判的情况,可以在应用端用force index来强行指定索引,也可以通过修改语句来引导优化器,还可以通过增加或者删除索引来绕过这个问题。...原创 2022-08-01 23:06:30 · 132 阅读 · 0 评论 -
MySQL 45 讲 | 09 普通索引和唯一索引,应该怎么选择?
普通索引和唯一索引,应该怎么选择?原创 2022-07-29 12:40:57 · 230 阅读 · 0 评论 -
MySQL 45讲 | 08 事务到底是隔离的还是不隔离的?
事务到底是隔离的还是不隔离的?原创 2022-07-26 23:08:54 · 207 阅读 · 0 评论 -
MySQL 45 讲 | 07 行锁功过:怎么减少行锁对性能的影响?
MySQL的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如 MyISAM 引擎就不支持行锁。行锁就是针对数据表中行记录的锁 。原创 2022-07-25 16:58:16 · 257 阅读 · 0 评论 -
MySQL 45讲 | 06 全局锁和表锁 :给表加个字段怎么有这么多阻碍?
数据库锁设计的初衷是**处理并发问题**。 根据加锁的范围,MySQL里面的锁大致可以分成**全局锁**、**表级锁**和**行锁**三类。原创 2022-07-22 22:18:11 · 202 阅读 · 0 评论 -
MySQL 45讲 | 05 深入浅出索引(下)
mysql索引,覆盖索引 ,前缀索引,索引下推原创 2022-06-22 21:49:29 · 95 阅读 · 0 评论 -
MySQL 45讲 | 04 深入浅出索引(上)
分析了数据库引擎可用的数据结构。介绍了InnoDB采用的**B+树**结构。为什么 InnoDB要这么选择?由于InnoDB是索引组织表,一般情况建议创建一个**自增主键**,这样非主键索引占用的空间最小。但也有使用**业务逻辑字段**做主键的应用场景。...原创 2022-06-17 17:24:10 · 81 阅读 · 0 评论 -
MySQL 45讲 03 | 事务隔离:为什么你改了我还看不见?
简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事 务支持是在引擎层实现的。本文以InnoDB为例,剖析MySQL在事务支持方面的特定实现,并基于原理给 出相应的实践建议。......原创 2022-06-14 21:47:03 · 89 阅读 · 0 评论 -
MySQL 45讲 | 02 日志系统:一条SQL更新语句是如何执行的?
一条SQL更新语句是如何执行的?重要的日志模块: 重要的日志模块:redo log;重要的日志模块: 重要的日志模块:binlog ;两阶段提交。原创 2022-06-13 16:46:19 · 81 阅读 · 0 评论 -
MySQL45讲 01 | 基础架构:一条SQL查询语句是如何执行的?
01 | 基础架构:一条SQL查询语句是如何执行的?原创 2022-06-08 22:22:18 · 77 阅读 · 0 评论 -
数据库SQL和MYSQL
B站Mosh老师的mysql教学笔记 转自知乎笔记:课程:Mosh_完全掌握SQL【笔记】 - 知乎 本人学习时觉得笔记详细,可供复习使用 在此感谢原作者转载 2021-09-29 21:31:17 · 85 阅读 · 0 评论