MySql
JavaMa-
学起来。
展开
-
MySQL深度分页优化
Mysql深度分页优化1. 背景mysql使用select * from table limit offset, rows分页在深度分页的情况下, 性能急剧下降。例如:select * 的情况下直接⽤limit 600000,10 扫描的是约60万条数据,并且是需要回表60W次,也就是说⼤部分性能都耗在随机访问上,到头来只⽤到10条数据(总共取600010条数据只留10条记录)2. 优化2.1 业务层面限制跨度比较大的跳页百度和Google方案:[外链图片转存失败,源站可能有防盗链机制,转载 2022-05-16 15:39:45 · 6847 阅读 · 0 评论 -
mysql大字段设计的思考
【强制】varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索引效率。为什么会大字段会影响其他字段的索引效率?因为大字段导致一行数据占的空间变大,叶子节点的每个page存储的数据行变少,需要查询更多的page,增加磁盘IO次数。...原创 2021-01-06 11:32:34 · 712 阅读 · 3 评论 -
怎么理解text大字段影响其他字段索引效率?
【强制】varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索引效率。解析:大字段导致一列数据量太大, InnoDB 每个数据页中存放的行数减少。...原创 2020-12-01 13:17:40 · 922 阅读 · 0 评论 -
一图看懂MySql索引B+Tree
ProcessOn浏览:https://www.processon.com/view/link/5f48818e1e0853452d3fa33c原创 2020-11-14 17:32:42 · 286 阅读 · 2 评论 -
MySQL判断时间段是否重合
两种写法。如图,4种重合情况和2种不重合情况。第一种写法:-- 时间段 a,b SELECT * FROM table WHERE (start_time >= a and end_time <= b) -- 被包含了 or (end_time >= a and end_time <=b) or (start_time >= a and start_time <=b) or (start_time <= a and end_time &.原创 2020-08-28 16:34:20 · 829 阅读 · 0 评论