
SQL学习
文章平均质量分 50
提高记忆力
这个作者很懒,什么都没留下…
展开
-
MySQL锁
出现在Repeatable read 级别, 进行范围查询时,会锁住范围之间的内容,即使之间没数据,且在其她事务在范围内进行插入/删除操作时是操作不了的。意向锁:表锁,无需手动加,在加行锁(共享锁/排他锁)之前,InnoDB会先加一个意向锁,是为了提醒那些要全量查询的语句,不要浪费时间了,等着吧。如果范围的是包含表的最后一行数据,则比最后一行数据大的所有数据插入也是加不成功的。加在select 语句之后会强制加上排他锁。原创 2025-04-25 17:08:43 · 239 阅读 · 0 评论 -
MySQL8的索引跳跃扫描原理
索引跳跃扫描(Index Skip Scan)是 MySQL 8.0.13 引入的一种优化技术,允许在某些情况下跳过联合索引的最左前缀字段,仍然可以利用联合索引进行查询。7. 如何查看是否使用了索引跳跃扫描?在传统的 B-Tree 索引中,查询条件必须遵循“最左前缀匹配原则”,即查询条件必须包含联合索引的第一个字段,才能有效利用索引。• 联合索引的非最左前缀字段查询:查询条件中不包含联合索引的第一个字段,但包含后续字段。• 查询字段必须是索引中的列:查询的字段必须是联合索引中的列,否则无法利用索引。原创 2025-04-10 18:27:51 · 350 阅读 · 0 评论 -
深度分页及优化建议
深度分页是指在分页查询中,当用户请求非常靠后的页面时,数据库需要处理大量数据,导致查询性能显著下降的情况。例如,一个查询结果有 100 万条记录,而用户要查询第 999 页(每页 10 条记录),这就需要跳过前面 9980 条记录,这种场景就属于深度分页。```sql```这种方法的前提是主键必须自增,且前端需要传递上一页的最大主键`maxId`。此方法不支持随机跳页,只能上下翻页。原创 2025-04-10 17:34:44 · 384 阅读 · 0 评论