04 2024 档案

摘要:在日常的业务开发中,使用到MySQL的order by对数据进行排序是一个很正常的行为,那么你知道order by是如何工作的嘛? 一、全字段排序 先创建一张user表,字段name,age,address,插入随机数据100w条记录,由于按照name查询,所以给name字段添加索引: alter 阅读全文
posted @ 2024-04-15 13:58 孙半仙人 阅读(18) 评论(0) 推荐(0) 编辑
摘要:在日常的业务开发中,汇总记录使用select count(*) from t是常见用法,分页查询的时候都会用到,那么随着系统记录的数量越来越多,你有没有发现这条语句执行的也越来越慢了呢? 一、count(*)原理 在不同的存储引擎中,count(*)有不同的实现方式 MyISAM 存储引擎中,把一个 阅读全文
posted @ 2024-04-12 14:28 孙半仙人 阅读(81) 评论(0) 推荐(0) 编辑
摘要:本文讨论的就如题目所示,为什么在 MySQL 中,把表数据删除了一半,表文件大小却不变的?以下讨论前提都是使用InnoDB存储引擎,使用DELETE删除,并非DROP和TRUNCATE 一、案例演示 首先创建一个 user 表,新增大概 1000 条记录 查看该表的占用空间 SELECT table 阅读全文
posted @ 2024-04-11 10:44 孙半仙人 阅读(327) 评论(0) 推荐(0) 编辑
摘要:数据库锁设计的初衷是处理并发问题,作为多用户共享的资源,当出现并发访问的时候,数据库需要合理的控制资源的访问规则,而锁就是用来实现这些访问规则的重要数据结构 根据加锁的范围,MySQL 里的锁大概可以分为全局锁,表级锁,行锁三类 一、全局锁 全局锁就是对整个数据库实例加锁,MySQL 提供了一个加全 阅读全文
posted @ 2024-04-09 16:53 孙半仙人 阅读(66) 评论(0) 推荐(0) 编辑
摘要:MVCC (Multiversion Concurrency Control) 中文全程叫多版本并发控制,是现代数据库(包括 MySQL、Oracle、PostgreSQL 等)引擎实现中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的吞吐性能。 一、undolog 我们在进行数据更新操作 阅读全文
posted @ 2024-04-02 16:18 孙半仙人 阅读(185) 评论(0) 推荐(0) 编辑
摘要:简单来说,事务就是要保证一组数据库操作,要不全部成功,要不全部失败,在 MySQL 中,事务支持是在存储引擎层面的,比如 MySQL 的原生 MyISAM 存储引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因。 一、隔离性 事务的隔离性,就是我们常说的 ICAD(Atomic 阅读全文
posted @ 2024-04-02 13:18 孙半仙人 阅读(47) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
哥伦布
17°
00:09发布
哥伦布
00:09发布
17°
东南风
4级
空气质量
相对湿度
25%
今天
多云
2°/18°
周四
雨夹雪
2°/14°
周五
小雪
-2°/5°