- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些遗留的 SQL (SP)
declare @FactorCollectionId int; select @FactorCollectionId = collectionID from dbo.collection where name = 'Factor'
declare @changeDate datetime; set @changeDate = getDate()
declare @changeTimeID int; set @changeTImeID = convert(int, convert(varchar(8), @changeDate, 112))
declare @MaxWindowID int; select @MaxWindowID = MAX(windowID) from dbo.window
select distinct @FactorCollectionId, ElementId, T.TimeID, @changeTimeId ChangeTimeID, 1 UserID, @MaxWindowID, 0 ChangeID
, null TransactionID, SystemSourceID, changeTypeID, 'R' OlapStatus, Comment, Net0 Delta0, Net0
, 1 CreatedBy, 1 UpdatedBy, @changeDate CreatedDate, @changeDate UpdatedDate, 1 CurrentRecord, MeasureTypeID
from dbo.aowCollectedFact FV
inner join dbo.timeView T on T.timeID >= FV.timeID
where FV.currentRecord = 1 --is current record
and T.CurrentHorizon <> 0 --Indicator that Time is part of current horizon
and FV.collectionID = @FactorCollectionId --factor collections only
and FV.timeID = (select MAX(timeID) --latest collected fact timeID for given collectionID and elementID
from aowCollectedFact FV2
where FV2.collectionId = @FactorCollectionId
and FV2.elementId = FV.elementID)
and (((T.ForecastLevel = 'Month') and (T.FirstDayInMonth = T.Date)) --Date is first of month for monthly customers, or
or
((T.ForecastLevel = 'Quarter')and (T.FirstDayInQuarter = T.Date))) --Date is first of quarter for quarterly customers
and not exists (select 1 --Record does not already exist in collected fact view
from aowCollectedFact FV3 -- for this factor collection, elementID, and timeID
where FV3.collectionId = @FactorCollectionId
and FV3.elementID = FV.elementId
and FV3.timeID = T.timeID)
Table Spool (Lazy spool)
上。操作(表中存在索引并且它们运行良好)。
最佳答案
在查看执行计划或表索引之前,我将给出最有根据的猜测。首先,这里有几个值得一读的链接。
showplan operator of the week - lazy spool
Table spool/Lazy spool
索引 :查看您的索引以确保它们都覆盖了您从表中选择的列。您将希望获得包含在索引中的 JOIN 和 WHERE 子句中的所有列。 SELECT 语句中的所有其他列都应该被索引包含或覆盖。
运营商 : 看看是否可以去掉不等于 ("<>") 运算符,转而使用单个大于或小于运算符。可以这样声明and T.CurrentHorizon <> 0
改成这个 and T.CurrentHorizon > 0
?
加入 : 去掉连接到自身之外的表的子查询。例如,这一行 and FV2.elementId = FV.elementID
可能会导致一些问题。没有理由不能将其从子查询中移出并加入到 dbo.aowCollectedFact FV
的 JOIN 中。 ,鉴于您已经在主查询中进行了分组 (DISTINCT)。
区别 : 将其更改为 GROUP BY。我没有别的理由,因为这是一个很好的练习,需要两分钟。
最后备注 :上述所有情况的异常(exception)可能是离开最后的子查询,IF NOT EXISTS
, 作为子查询。如果将其更改为 JOIN,则必须是 LEFT JOIN...WHERE NULL
语句,这实际上会导致假脱机操作。没有什么好方法可以绕过那个。
关于SQL Server 2005 表假脱机(Lazy spool)——性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720988/
如标题所示,我使用了 Media Foundation WavSink 示例,该示例将音频流解码为 PCM 并转储到文件。 我的应用程序是将此流定向到 FMOD 音频引擎,该引擎以实时速率使用 PCM
我正在 windows 服务器中编写一个 BAT 文件,它将连接到 oracle 并选择输出将被假脱机到一个文件,输出文件将被放置到网络驱动器。 我是通过以下步骤完成的: 1) 创建bat文件连接or
我正在尝试使用 SQLPLUS 中的 SPOOL 命令为数据库中的对象生成所有 DDL: SET trimspool ON SET wrap off SET heading off SET lines
我知道当您尝试将报告写入 Oracle SQLplus 中的文件时,您会使用假脱机命令。 MySQL 中的等效命令是什么? 这是我的代码: set termout off spool ${DB_ADM
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
每当新文件到达特定文件夹时,我都试图从远程机器获取文件到我的 hdfs。我在 flume 中遇到了 spool dir 的概念,如果 spool dir 在运行 flume agent 的同一台机器上
发现问题 最近在工作发现了一个错误,MySQL 报错 Exception Message:SQLSTATE[08004][1040]Too many connections,经查这次错误是硬盘空间
我想使用 Oracle 11g 中的假脱机功能。 我希望将整个输出假脱机到一个文件中,并将输出的子集假脱机到一个单独文件中。 在下面的示例中,我希望 temp_1.txt 包含来自 A、B、C、D 和
在sql server中运行两个类似的sql,其中表TBSFA_DAT_CUST有百万行并且没有约束(没有索引和主键),另外两个只有几行和普通主键: s 较慢的: SELECT A.CUST_ID,
我想异步发送电子邮件以获得更快、更轻的 http 响应,但我正在努力解决许多新概念。 例如,文档讨论 spool 。它说我应该将假脱机与文件一起使用,然后使用命令发送电子邮件。但我应该如何运行该命令?
如何使用 Java 解析 Linux 系统上生成的邮件文件?我的意思是,我希望能够提取文件内各种电子邮件的发件人、收件人、时间戳和主题。有什么建议吗? 最佳答案 javax.mail.internet
嗨, 我正在将 shell 脚本转换为 Java 程序。 shell 脚本运行一条 sql 语句并将文件假脱机到外部文本文件。我想用Java来模拟这个。 (输出文件的格式必须与在 SQL+ 中运行命令
请指教如何停止目录下的文件创建- /var/spool/clientmqeueue 之所以会这样,是因为clientmqeueue文件夹容量大,每天都在创建文件 请提供所有可能性的建议 最佳答案
我有一些遗留的 SQL (SP) declare @FactorCollectionId int; select @FactorCollectionId = colle
我有一系列要输出到 .csv 文件的查询。我必须查询数据库的唯一工具是 SQL Developer。 我可以运行每个查询,然后使用 SQL Developer 中的导出对话框将它们写入文件,但这很麻烦
我们将一个 150 mb 的 csv 文件复制到水槽的 spool 目录中,当它被加载到 hdfs 中时,该文件被拆分成更小的文件,例如 80 kb 的文件。有没有办法加载文件而不会使用水槽拆分成更小
我有一个查询,它创建多个临时表,然后将数据插入其中。据我了解,这是 Table Spool 的潜在原因。当我查看执行计划时,大部分处理都花在表假脱机上。有什么好的技术可以改善这些类型的性能问题吗?与临
我正在使用 SQLPLUS 将数据假脱机到文件中,但并非所有数据都被返回?我正在使用 dbms_metadata.get_ddl 函数,它仅将表定义的一部分返回到文件......我可以在查询输出中看到
首先我想说谢谢您查看这个问题:) 我是AS400/JAVA开发的初学者。我想知道如何使用 JT400 将假脱机文件列表获取到 java 以及如何将其从 OUTQ 转换为 PDF。 任何人都可以告诉我或
我正在使用 Java 打印服务 API 选择 PrintService,然后将其传递给 JasperReport 的 JRPrintServiceExporter。基本思想是将文档发送到提供的 Pri
我是一名优秀的程序员,十分优秀!