关系型数据库的一大优势之一,用户无需关心数据的访问方式,因为这些优化器都帮我们处理好了,但sql查询优化的时候,我不得不要对此进行关注,因为这牵扯到查询性能问题。 有经验的程序员都会对一些sql优化了如指掌,比如我们常说的最左匹配原则,非BT谓词规避等等,那么优化器是如何确定这些的?以及为何一定要最 ...
分类:
数据库 时间:
2018-08-10 21:22:59
阅读次数:
137
MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的。这条命令并没有提供任何调整建议,但它能够提供重要的信息帮助你做出调优决策。 语法 MySQL 的EXPLAIN 语法可以运行在SELECT 语句或者特定表 ...
分类:
其他好文 时间:
2018-08-08 13:45:19
阅读次数:
180
MySQL 8.0新增特性 use_invisible_indexes:是否使用不可见索引,MySQL 8.0新增可以创建invisible索引,这一开关控制优化器是否使用invisible索引,on表示考虑使用。 MySQL 5.7新增 derived_merge:派生表合并,类似Oracle的视 ...
分类:
数据库 时间:
2018-08-08 11:08:33
阅读次数:
466
在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。可以帮助我们深入了解M ...
分类:
其他好文 时间:
2018-08-03 14:42:37
阅读次数:
181
postgresql的索引postgresql提供的索引类型有:B-tree、hash、gist和gin。大多情况下,B-tree索引比较常用,用户可以使用create index命令创建一个B-tree索引。1、B-tree索引: B-tree适合处理那些能够按顺序存储的数据,比如对于一些字段涉及使用:< ,<= ,= ,>= 或 >操作符之一进行
分类:
数据库 时间:
2018-08-01 11:42:29
阅读次数:
127
上篇文字,我们知道如何获取数据了,那现在就把它们联接起来! 我要展现的是3个个常用联接运算符:合并联接(Merge join),哈希联接(Hash Join)和嵌套循环联接(Nested Loop Join)。但是在此之前,我需要引入新词汇了:内关系和外关系(inner relation and o ...
分类:
数据库 时间:
2018-07-29 16:22:07
阅读次数:
224
深度学习方向: 1.各个优化器的比较区别?(http://freeshare.free4inno.com/resource?id=16925&home=timerank)(多次出现) 2.如何避免过拟合,l1l2正则哪个可以解决过拟合问题?你怎么理解的?(http://freeshare.free4 ...
分类:
其他好文 时间:
2018-07-27 01:36:53
阅读次数:
190
工作中遇到一则很奇怪的真实案例,有一个统计sql,统计结果在190 200之间时,耗时基本上维持在1.6S,统计结果在此数据范围外的统计耗时,基本上维持在0.1 0.3S之间, 按照惯例,explain查看执行计划。 为方便阐述,约定如下 : 数据范围在190 200,耗时1.6S的叫 sql1,数 ...
分类:
其他好文 时间:
2018-07-26 00:23:42
阅读次数:
165
Fork版本项目地址:SSD 作者使用了分布式训练的写法,这使得训练部分代码异常臃肿,我给出了部分注释。我对于多机分布式并不很熟,而且不是重点,所以不过多介绍,简单的给出一点训练中作者的优化手段,包含优化器选择之类的。 一、滑动平均 二、学习率衰减 细节实现函数,有三种形式,一种是常数学习率,两种不 ...
分类:
其他好文 时间:
2018-07-24 17:53:01
阅读次数:
527
一、关键参数 typesystem最好,到ref,一般就认为达标了。ALL和index最差,必须要进行优化。联接类型。下面给出各种联接类型,按照从最佳类型到最坏类型进行排序: system: 表仅有一行(=系统表)。这是const联接类型的一个特例。const: 表最多有一个匹配行,它将在查询开始时被读取。因为仅有一行,在这行的列值可被优化器剩余部分认为是常数。const表很快,因为它们只读取一次
分类:
数据库 时间:
2018-07-24 11:54:18
阅读次数:
181