当数据库中的数据量较大时,读取数据需要用limit来做分页 测试中发现,使用limit时,offset的值越大查询时长越长,查询效率越低 此时,可以用where+id的方法来修改此sql语句,优化查询: 因为id一般都是主键索引,查询效率较高 ...
分类:
数据库 时间:
2019-08-07 19:31:17
阅读次数:
125
Calcite源码分析,参考: http://matt33.com/2019/03/07/apache-calcite-process-flow/ https://matt33.com/2019/03/17/apache-calcite-planner/ Rule作为Calcite查询优化的核心, ...
分类:
其他好文 时间:
2019-07-31 22:17:26
阅读次数:
740
1、开启MySQL查询的缓存功能(Query Cache) 通过show variables like "%query_cache%"查看与查询缓存相关的参数: mysql> show variables like "%query_cache%"; + + + | Variable_name | V ...
分类:
数据库 时间:
2019-07-28 14:16:57
阅读次数:
140
分页显示是web开发常见需求,随着表数据增加,200万以上时,翻页越到后面越慢,这个时候慢查询成为一个痛点,关于count(*)慢的原因,简单说会进行全表扫描,再排序,导致查询变慢。这里介绍postgresql一种解决方案。对于大表,我们有时候并不需要返回精确的数值,可以采用模糊的总数代替。 原始语 ...
分类:
其他好文 时间:
2019-07-15 12:07:03
阅读次数:
155
前言 开心一刻 儿子有道题不会做,喊我过去教他。我推了推一旁的老公:我头疼,你去吧。老公不动,我:零花钱涨一千。话音刚落,老公就屁颠屁颠跑去儿子房间。进去不到几分钟,一声怒吼伴随着儿子的哭声传来的瞬间,老公从儿子房间出来,边走边说:“朽木不可雕也。”儿子从房间探出半个身子,一脸委屈:“爸爸也不会做, ...
分类:
其他好文 时间:
2019-07-11 09:39:46
阅读次数:
109
一。什么是数据库执行计划: MySQL执行计划是sql语句经过查询优化器后,查询优化器会根据用户的sql语句所包含的字段和内容数量等统计信息,选择出一个执行效率最优(MySQL系统认为最优)的执行计划,然后根据执行计划,调用存储引擎提供的接口,获取数据。执行计划,简单的来说,是SQL在数据库中执行时 ...
分类:
数据库 时间:
2019-07-08 23:51:03
阅读次数:
145
第三周。上周欠下了 赶紧补上,糟糕了 还有第四篇也得加紧了 难受。 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文章 以下是各项的情况: Algorithm ...
分类:
其他好文 时间:
2019-07-07 19:02:13
阅读次数:
165
之前我们简单了解了各种查询的用法,然而在实际开发中还会用到一些比较高级的数据处理和查询,包括索引、视图、存储过程和触发器。从而能够更好地实现对数据库的操作、诊断及优化。什么是索引呢,索引是SQLServer编排数据的内部方法,他为SQLServer提供了一种方法来编排查询数据的路由,从而达到通过使用索引来提高数据库的检索速度、改善数据库性能。索引也是分为以下六类:1、唯一索引:不允许两行具有相同的
分类:
数据库 时间:
2019-07-02 21:14:27
阅读次数:
162
如何设计最优的数据库表结构,如何建立最好的索引,以及如何扩展数据库的查询,这些对于高性能来说都是必不可少的。但是只有这些还不够,要获得良好的数据库性能,我们还要设计合理的数据库查询,如果查询设计的很糟糕,即使增加再多的只读从库,表结构设计的再合理,索引再合适,只要查询不能使用到这些东西,也无法实现高 ...
分类:
数据库 时间:
2019-06-29 10:49:50
阅读次数:
124
第一篇:初识数据库 第二篇:库相关操作 第三篇:表相关操作 第四篇:记录相关操作 第五篇:数据备份、pymysql模块 第六篇:视图、触发器、事务、存储过程、函数 第七篇:ORM框架SQLAlchemy 第八篇:索引原理与慢查询优化 ...
分类:
数据库 时间:
2019-06-27 19:08:39
阅读次数:
149