用explain查看SQL的执行计划 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。 EXPLAIN命令是查看优化器如何决定执 ...
分类:
数据库 时间:
2018-07-20 21:19:04
阅读次数:
144
6 查询性能优化 6.1为什么查询会变慢 这里说明了的查询执行周期,从客户端到服务器端,服务器端解析,优化器生成执行计划,执行(可以细分,大体过程可以通过show profile查看),从服务器端返回客户端结果。 而执行部分作为最重要的一环,需要做的事情比较多,而不合适的query往往让执行过程做了 ...
分类:
数据库 时间:
2018-07-20 19:04:13
阅读次数:
197
MySQL8.0新特性——不可见索引(Invisible Indexes)MySQL8.0开始支持看不见的索引。一个看不见的索引根本不被优化器使用,但是通常是保持正常的。默认情况下索引是可见的。不可见的索引使测试在查询性能上删除索引的效果成为可能,而不需要在需要索引的情况下进行破坏性的更改。注意: 该特性适用于除主键以外的索引(显式或隐式)默认情况下索引是可见的!。 将inde
分类:
数据库 时间:
2018-07-16 12:29:12
阅读次数:
247
本文分为两部分,第一部分讲如何保存模型参数,优化器参数等等,第二部分则讲如何读取。 假设网络为model = Net(), optimizer = optim.Adam(model.parameters(), lr=args.lr), 假设在某个epoch,我们要保存模型参数,优化器参数以及epoc ...
分类:
其他好文 时间:
2018-07-15 00:50:52
阅读次数:
486
Firebird 现可支持哈希连接(hash join),各中大型数据库,哈希连接已成为平常,相对于循环嵌套连接(Nested Loop Join),在数据量较大的情况下,哈希连接性能较好。 由于 Firebird 的sql查询优化器做的不是很好,需要使用者显式的指定是否使用hash join,否则 ...
分类:
其他好文 时间:
2018-07-14 17:40:57
阅读次数:
170
*性能优化 1、select 列名 from table; 2、where:可参数化支持优化器使用where子句中列上的索引,不可参数化的不支持索引查找 3、使用between... and /exists 代替 in; 4、用>= 代替!< 5、避免在where中使用运算符,如substring( ...
分类:
数据库 时间:
2018-07-13 15:13:51
阅读次数:
148
SQL兼容性 功能差异 - 高级SQL 功能差异 - 约束 功能差异 - 易用性 功能差异 - 开发功能 功能差异 - 类型支持 功能差异 - 索引支持 功能差异 - 并发能力 功能差异 - 多引擎和外部源支持 功能差异 - 安全 功能差异 - 优化器 功能差异 - 可用性和可靠性 功能差异 - 编 ...
分类:
数据库 时间:
2018-07-11 21:24:06
阅读次数:
224
影响sql查询慢的因素1、没有索引或则无效索引导致的全表扫描。2、表的数据量和关联的表数量。致索引无效的情况1、表关联查询时,字段类型或长度不一致。如:varchar(10)和varchar(20)2、查询参数的数据类型与索引字段类型不一致。如int=‘1313‘3、in()索引字段in查询时,通常是有效的。但是当in中指定的数据太多,优化器认为全表扫描更快时,也不会使用索引。4、
分类:
数据库 时间:
2018-07-10 17:43:57
阅读次数:
166
Objective-C 和 Swift都是编译语言 编译语言在执行的时候,必须先通过编译器生成机器码 CPU执行机器码 LLVM 编译编译语言 LLVM 是一个模块化和可重用的编译器和工具链技术的集合 LLVM 核心库提供一个优化器,对流行的 CPU 做代码生成支持 Clang 是 LLVM 的子项 ...
分类:
移动开发 时间:
2018-07-10 01:18:35
阅读次数:
213
1.oracle优化器 优化目标分为4种: choose (选择性) rule (基于规则) first rows(第一行) all rows(所有行) Description:描述sql的执行计划 Object owner:对象模式 Object name:对象名 Cost:花费(的时间) Car ...
分类:
数据库 时间:
2018-07-08 15:36:42
阅读次数:
222