logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

MySQL UPDATE 条件升级导致的事故

UPDATE 语句看起来简单,但稍不注意就可能把整张表给毁了。这篇说说 UPDATE 的常见事故和正确写法。

#test
MySQL varchar(255) 的秘密

很多人写表结构的时候,习惯性地写 VARCHAR(255),觉得 255 是标准值。为啥是 255?有啥讲究?这篇说清楚。

#test
MySQL 视图使用场景与限制

- 视图:保存好的 SQL 查询,像表一样使用-- 使用视图。

Docker 入门完全指南

容器这东西,用上了就回不去了。比虚拟机轻,比装环境快,一套走天下。

#docker#容器#运维
MySQL MVCC机制深度解析

MVCC 的核心是"多版本"——通过版本链保存数据的多个历史版本每一行数据有隐藏字段DB_TRX_ID(最后修改的事务 ID)和(指向 undo log)Read View(快照)记录了事务开始时,哪些事务是活跃的快照读时,会根据 Read View 判断哪个版本可见REPEATABLE READ 的 Read View 在第一次快照读时生成,READ COMMITTED 每次快照读都生成新的 R

#mysql#android#数据库
MySQL 索引底层 B+ 树原理

B+ 树是 MySQL InnoDB 的索引底层结构,核心优势是矮胖(减少磁盘 I/O)和叶子节点链表(范围查询快)聚集索引的叶子节点存完整行数据,二级索引的叶子节点存主键值(需要回表)B+ 树一般 2~3 层,能撑起千万级数据量用自增主键能减少页分裂,提升插入性能索引不是越多越好,要用EXPLAIN验证如果你能把这些点讲清楚,面试的时候绝对是加分项。就算没面试,懂了这些,你也能更好地设计表结构和

MySQL 分页查询优化

我刚工作的时候,有个列表页做了分页,前两页秒开,翻到 100 页就卡死了。用户投诉说:“你们这破网站,翻页翻到第 100 页就转圈圈!—— 扫描了 1000010 行,然后丢弃前 1000000 行,只返回 10 行。今天咱们就来聊聊 MySQL 分页查询的优化,看完这篇,你就能让列表页飞起来。

MySQL 三大范式与反范式

表中的每一列都是。

MySQL 子查询优化:从慢查询到飞起的实战之路

有一次上线一个报表功能,SQL 里套了两层子查询,测试环境跑得挺快,上了生产直接把数据库干到 CPU 100%,整个系统卡了十分钟。如果 orders 表的 user_id 列有 NULL 值,整个结果集直接变成空的——这是 NOT IN 的经典坑,NULL 值会导致比较结果为 UNKNOWN,整行被过滤掉。今天这篇文章,我把常见的子查询优化手段梳理一遍,结合实际场景讲清楚什么时候该用子查询,什么

MySQL 全文索引实战:搜索功能的正确打开方式

做搜索功能的时候,很多人第一反应是 LIKE ‘%关键词%’,数据量小的时候没问题,数据一大直接全表扫描。全文索引是 MySQL 内置的搜索方案,适合中小规模的搜索需求。关键点就三条:中文用 ngram 分词器,查询用布尔模式精确控制,搜索长度注意最小值限制。如果你的搜索需求很复杂(拼音搜索、同义词、高亮等),还是得上 Elasticsearch,MySQL 全文索引搞不定。搜索的是"数据库"和"

    共 38 条
  • 1
  • 2
  • 3
  • 4
  • 请选择