SQL 执行计划是基于架构还是数据,或者两者兼而有之?
我希望这个问题不太明显......我已经找到了很多关于解释执行计划的好信息,但有一个问题我还没有找到答案。 该计划(更具体地说是相对 CPU 成本)仅基…
SQL Server版本升级和缓存执行计划
我刚刚将 SQL Server 2008 R2 Express 版升级到 SQL Server 2008 R2 标准版。安装工具已执行升级,没有任何问题。 然而,承诺的性能提升并不在这里。…
MySQL 中的嵌套循环
在此 O'Reilly 演示文稿中,有一段介绍了理解 MySQL 的 EXPLAIN 的一些关键概念: 什么是 JOIN? 一切都是 JOIN,因为 MySQL 总是使用嵌套循环 即使是…
同一查询有不同的查询计划!
可能的重复: SP sql server 是如何发生的 你好,我得到了一些奇怪的东西。我运行了这个sql: SELECT Id , GameTypeId , PlayerId , BetAmount , Pro…
SQL Server 在什么基数下切换到索引扫描(相对于查找)
假设一个表包含足够的信息来保证索引查找,那么 SQL Server(或 PostgreSQL)将选择什么基数进行索引扫描? 我问这个的原因是我之前发布了一个问题(…
如何为oracle循环生成执行计划
如何为 Oracle 循环查询生成执行计划,如下所示: BEGIN FOR L IN (SELECT FIRST_NAME, LAST_NAME, SOME_ID FROM TABLE1) LOOP INSERT INTO TABLE2 (F…
为什么MySQL要使用索引交集而不是组合索引?
我时常会遇到奇怪的 MySQL 行为。假设我有索引(类型、相对、创建)、(类型)、(相对)。对于这样的查询,最佳选择 SELECT id FROM tbl WHERE rel =…
非常慢的查询曾经非常快。解释显示本地备份上的 rows=1,但服务器上的 rows=2287359
我时不时地检查垃圾邮件,然后使用“从像 '%http://%' order by id desc limit 10 的帖子中选择 *”并搜索其他一些关键字。最近,选择速度慢得令人难…
如何为整个存储过程生成解释计划
我通常在 sqlplus 中使用以下内容生成解释计划: SET AUTOTRACE ON SET TIMING ON SET TRIMSPOOL ON SET LINES 200 SPOOL filename.txt SET AUTOTRACE…
向我解释一个 postgresql EXPLAIN
在这里得到这个查询: EXPLAIN SELECT persons.id AS id, ppm.first FROM myschema.persons INNER JOIN myotherschema.ppm ON persons.key = ppm.pid …
mysql 多列索引不起作用(如预期)?
我有一个这样的表, CREATE TABLE IF NOT EXISTS `tbl_folder` ( `id` int(11) NOT NULL AUTO_INCREMENT, `owner_userid` int(11) NOT NULL, `name` v…
在 SQL Server 中访问 XML 列中的数据的首选方法
背景 最近我开始更多地使用 XML 作为 SQL Server 2005 中的列。在昨天的一段停机时间内,我注意到我使用的两个链接表确实很碍事,这让我感到无聊得流…
为什么嵌套视图的解释计划与单个合并视图不同?
我有一个视图 V2,它从另一个视图 V1 中进行选择,并添加了几个谓词过滤器。 V2 IS SELECT * FROM V1 WHERE ACTIVE='Y' AND TYPE = '1'; 当我在 V2 和…
MySQL - 基本2表查询慢 - 索引在哪里?
我有一个 MySQL 5.0 查询,从网页调用,经常需要 14 秒以上,而且用户不耐烦。这相当简单,从 2 个表中选择 11 列。我有三个问题: 连接的位置重要吗…
查询执行计划中出现意外的估计行 (Sql Server 2000)
如果我运行这个查询 select user from largetable where largetable.user = 1155 (注意我查询用户只是为了将其减少到最简单的情况) 并查看执行计划…