我正在将CSV文件中的数据加载到临时分段表中,并且这个临时表被频繁查询。我查看了我的执行计划,发现很多时间都花在扫描这个临时表上。
当我使用SELECT INTO
语句时,有没有办法在这个表上创建索引?
SELECT *
FROM TradeTable.staging.Security s
WHERE (
s.Identifier IS NOT NULL
OR s.ConstituentTicker IS NOT NULL
OR s.CompositeTicker IS NOT NULL
OR s.CUSIP IS NOT NULL
OR s.ISIN IS NOT NULL
OR s.SEDOL IS NOT NULL
OR s.eSignalTicker IS NOT NULL)
CREATE TABLE
创建临时表,并添加主键/自增列,然后2)对所有数据执行INSERT
操作。我可以在1)和2)之间添加索引。 - Ian R. O'BrienCREATE TABLE #t
(即使需要重复自己),因为INSERT INTO #t SELECT
将以最有效的方式按正确的顺序插入数据。事后创建索引会导致更多的工作。 - binki