我正在尝试Stored Procedure为新创建的数据库创建一个.然而,SSMSintellisense不能识别已创建的表的一半以上.
例如,虽然在表格左下方列中我有一个表格dbo.Room,当我dbo.在新查询窗口中键入" "时,该表未列出,实际上只列出了37个表中的17个.
我可以看到intellisense列出的表与没有表的表之间没有区别.如果我手动输入dbo.Room,则会加下划线,错误为
无效的对象名称'dbo.Room'..
我在设置表时错过了什么吗?
更新:我已经尝试刷新表列表(几次)
只是一个普遍的问题:
是否有一个查询/命令我可以传递给SQL Server在执行特殊查询时不使用缓存?
我正在寻找一个我可以设置的查询/命令,而不是配置设置.有没有必要这样做?
我是全文搜索的新手,我使用了以下查询
Select * From Students Where FullName LIKE '%abc%'
Run Code Online (Sandbox Code Playgroud)
学生表包含所有随机的百万条记录,看起来像这样'QZAQHIEK VABCNLRM KFFZJYUU'
仅耗时2秒就产生了1100行. 如果在两秒内搜索到百万条记录,为什么我会打扰使用全文搜索?!! Like谓词是否也使用了全文索引?
我需要在1-2秒内运行几个查询.我一直在努力优化它们,但是第一次调用它们需要大约20秒,在所有后续调用中大约需要1秒.这使我无法判断我所做的任何更改是否会加快查询速度,因为它总是在〜1秒后运行.我对SQL并不十分熟悉,但从我能够学到的东西来看,似乎有些东西就是缓存.我正在试图弄清楚如何防止这种情况,但似乎没有任何效果.从我在Google上发现的,人们一直在暗示
DBCC FREEPROCCACHE
Run Code Online (Sandbox Code Playgroud)
要么
OPTION(recompile)
Run Code Online (Sandbox Code Playgroud)
这些似乎都不起作用.当第一次使用~20时,每个查询仍在~1秒内运行.我只想确保我所做的更改正在带来改进,而不是改进来自缓存.还有其他一些技巧吗?
有时我的应用程序运行缓慢。主要问题是一些昂贵的报告正在运行。我怎样才能找到这些报告以及如何立即杀死这些报告?
我正在努力提高SQL-Server-2008上一些SQL查询的效率.有不同的方法来执行每个查询,我想找到最快的.
但是,我遇到的问题是我无法确定哪个实际上执行得更快.理想情况下,我可以一个接一个地运行每个查询,看看哪个运行最快.理想的情况下...
问题是,SQL对我来说太聪明了.在构造这些查询时,我多次运行它们.当我这样做时,查询的效率会自行提高.我想成像是因为SQL所做的一些幕后工作.这是什么?我怎么能避免呢?
例如,我运行一次查询,需要30秒.我再次运行它需要10秒.运行查询的次数越多,运行速度就越快.
那么..有没有"清除缓存"的方法或SQL中的等价物?我想准确地指出哪个查询实际上运行得更快.或者,什么是我想要的测试类型的最佳方法?
有关此主题的任何信息都将被接受为有效输入.
我在一个表中运行了大约1,300,000条记录的查询.它需要满足某些WHERE条件的某些记录并将它们插入另一个表中.它首先完全清除目标表.
每次执行时,完成查询所需的时间会大大改善:
1st: 5 minutes, 3 seconds
2nd: 2 minutes, 43 seconds
3rd: 12 seconds
4th: 3 seconds
Run Code Online (Sandbox Code Playgroud)
除了点击Execute之外我什么也没做.我的查询看起来像这样(有些缩写用于长度目的):
DELETE FROM dbo.ConsolidatedLogs --clear target table
DECLARE @ClientID int
DECLARE c CURSOR FOR SELECT ClientID FROM dbo.Clients
OPEN c
FETCH NEXT FROM c INTO @ClientID --foreach LogID
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO dbo.ConsolidatedLogs
(col1, col2)
SELECT col1, col2
FROM dbo.CompleteLogsRaw
WHERE col3 = true AND
ClientID = @ClientID
FETCH NEXT FROM c INTO @ClientID
END
CLOSE c
DEALLOCATE c …Run Code Online (Sandbox Code Playgroud)