![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
课本里的小亮
这个作者很懒,什么都没留下…
展开
-
MySQL 解决大数据量limit分页执行时间很长
执行时间长是因为数据库要去扫描 N + M 条记录,然后又要放弃之前 N 条记录,开销很大解决思路:前端加缓存,或者其他方式,减少落到库的查询操作,例如某些系统中数据在搜索引擎中有备份的,可以用 es 等进行搜索使用延迟关联,即先通用 limit 得到需要数据的索引字段,然后再通过原表和索引字段关联获得需要数据select a.* from a,(select id from table_1 where is_deleted='N' limit 100000,20) b where a.id =原创 2020-08-24 15:29:19 · 575 阅读 · 0 评论 -
布隆过滤器原理以及java/redis使用
文章目录布隆过滤器布隆过滤器原理使用场景利用Google开源的 Guava中自带的布隆过滤器Redis 中的布隆过滤器使用Docker安装命令布隆过滤器布隆过滤器是用于判断一个元素是否在集合中。通过一个位数组和N个hash函数实现。(某样东西一定不存在或者可能存在.)优点:空间效率高,所占空间小。查询时间短。自带去重缺点:元素添加到集合中后,不能被删除。有一定的误判率布谷鸟过滤器解决了布隆过滤器无法删除的问题布隆过滤器原理当一个元素加入布隆过滤器中的时候,会进行如原创 2020-08-05 17:55:30 · 1611 阅读 · 0 评论 -
MySQL性能优化之索引与执行计划
文章目录SQL执行过程分析执行计划索引创建索引的缺点创建索引的建议索引类型确定前缀索引的长度全文索引的使用创建索引索引数据结构Hash的局限性BTREESQL语句优化join使用原则分页查询优化索引失效SQL执行过程通过网络的通讯协议接收客户端传入的SQL查看该SQL对应的结果在查询缓存中是否存在存在则直接返回结果不存在则继续往下走由解析器来解析当前SQL,最终形成初步的解析树再由预处理器对解析树进行调整,完成占位符赋值等操作查询优化器对最终的解析树进行优化,包括调整SQL顺序,是否原创 2020-07-26 22:42:39 · 189 阅读 · 0 评论