Tsql 选择后保留表数据

Tsql 选择后保留表数据,tsql,sql-server-2012,ssms,Tsql,Sql Server 2012,Ssms,所以我经常使用下面的查询 SELECT [id] ,[date] ,[pcknum] ,[pcktype] ,[pckinfo] ,[pckuptime] ,[pckbyte] ,[pcktext] FROM [dbo].[RawLog] where pcktext like '%USER SC%' and pckinfo = 174 and not (pcktext like '%type=Dial%'

所以我经常使用下面的查询

SELECT [id]
      ,[date]
      ,[pcknum]
      ,[pcktype]
      ,[pckinfo]
      ,[pckuptime]
      ,[pckbyte]
      ,[pcktext]
  FROM [dbo].[RawLog]
  where pcktext like '%USER SC%' and pckinfo = 174 and not (pcktext like '%type=Dial%' or pcktext like '%type=VoicemailCollect%')
  order by date desc
问题是,该表包含超过1000万行,搜索槽大约需要20-40分钟,而且需要花费大量时间

该表仅由直接用户输入访问,因为它用于对som网络协议进行反向工程

我想知道,是否有一种方法可以使SQL查询处于保存状态,从而减少搜索时间

例如,查询的保存状态

SELECT [id]
      ,[date]
      ,[pcknum]
      ,[pcktype]
      ,[pckinfo]
      ,[pckuptime]
      ,[pckbyte]
      ,[pcktext]
  FROM [dbo].[RawLog]
  where pcktext like '%USER SC%' and pckinfo = 174
我以后可以在上面使用查询吗

比如说

SELECT [id]
      ,[date]
      ,[pcknum]
      ,[pcktype]
      ,[pckinfo]
      ,[pckuptime]
      ,[pckbyte]
      ,[pcktext]
  FROM table_savedstate_of_RawLog_USERSC
  where not (pcktext like '%type=Dial%' or pcktext like '%type=VoicemailCollect%')
  order by date desc

您可以使用临时表进行此操作

SELECT [id]
      ,[date]
      ,[pcknum]
      ,[pcktype]
      ,[pckinfo]
      ,[pckuptime]
      ,[pckbyte]
      ,[pcktext]
  into #temptable
  FROM [dbo].[RawLog]
  where pcktext like '%USER SC%' and pckinfo = 174 and not (pcktext like '%type=Dial%' and pcktext like '%type=VoicemailCollect%')
  order by date desc
通过此操作,您可以访问已在
#tentable
中查询的详细信息

比如说

Select * from #temptable where id = 1
你也可以在使用它的时候为你的目标建立索引,以便更好地搜索

CREATE NONCLUSTERED INDEX IDX_ID ON #temptable(id)  
希望这有帮助:)

**编辑

根据您的上述查询使用诱惑

SELECT [id]
      ,[date]
      ,[pcknum]
      ,[pcktype]
      ,[pckinfo]
      ,[pckuptime]
      ,[pckbyte]
      ,[pcktext]
  FROM #temptable
  where not (pcktext like '%type=Dial%' or pcktext like '%type=VoicemailCollect%')
  order by date desc

谢谢,这正是我所需要的,它节省了我大量的CPU时间:)@Droa别忘了将其标记为答案以帮助其他人,一定要为你的
#attreable
编制索引,以便更快地搜索