mysql
文章平均质量分 63
bin_coder
不要放弃,坚持、坚持、再坚持
展开
-
每天一个mysql的小知识点--Index condition pushdown(ICP)
背景mysql 5.6支持的ICP,ICP主要减少了存储引擎访问磁盘基表的次数和mysql服务层访问存储层的次数,ICP可以处理一些组合索引的一些失效的场景,如果没有ICP的话,就需要mysql存储引擎把符合条件的索引的全部数据取出来,然后再mysql服务层进行过滤,有点像 limit 100000,10 取出100010,过滤掉100000 一样的效果CREATE TABLE `shop_info` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREME原创 2021-09-17 23:47:41 · 128 阅读 · 0 评论 -
每天一个mysql 优化的小知识--MRR优化
Multi-Range-Read(MRR)官网文档:https://dev.mysql.com/doc/refman/8.0/en/mrr-optimization.html优化背景:MRR优化主要是需要减少随机访问磁盘的次数,对于使用辅助索引的 explain type range 的场景。下面orders 表我建了 order_status ,create_time 的联合索引正常执行显示执行下面脚本,开启MRR## 查询sql的优化参数select @@optimizer_sw原创 2021-09-16 20:30:33 · 295 阅读 · 2 评论 -
mysql的一些简单知识
为啥添加索引会使表数据新增变慢?需要多维护一棵tree 的索引文件,增加了IO次数。非聚族索引的新增的索引数据不是顺序的,增加了随机IO,但是有一些也是索引也是顺序的的,例如:下单时间等。在innodb 存储引擎中,在innodb 1.0.x 中是使用缓冲池中insert buffer 对非唯一性辅助索引的新增维护进行了优化,在缓存中会对多个新增索引的操作进行合并操作,新增的时候会判断索引位置的page 页是否在缓存池中,如果在直接添加,如果不在就先往innsert buffer中添加索引信息,让M原创 2021-09-03 18:14:00 · 94 阅读 · 0 评论 -
一个查询让你从传统走向互联网
背景如何设计出符合互联网需求的分页查询,刚刚来到互联网公司菜鸟,一个查询竟然让我束手无策了。之前天天做传统业务的增删改查,只要实现功能就行,没有考虑过系统性能问题,我的老大让我不要用limit offset ,size 方式,我想了一下之前我都是用这种方式的,让我用ID进行查询,然后给我上了一课,此处省略若干字。。。。。。方案设计接口设计请求字段:id :默认值未0,如果查询下一页传最大的ID过来,如果查询上一页查询最小的type: 查询上一页给0,下一页给1,默认给1size:每页查询多少原创 2021-05-27 22:43:04 · 172 阅读 · 5 评论