una - tablas temporales vs variables tipo tabla sql server
¿Es posible crear índices en una tabla temporal cuando se usa SELECT INTO? (1)
La tabla creada por SELECT INTO
siempre es un montón. Si desea una columna PK / Identity, puede hacer lo que sugiere en los comentarios
CREATE TABLE #T
(
Id INT IDENTITY(1,1) PRIMARY KEY,
/*Other Columns*/
)
INSERT INTO #T
SELECT *
FROM TradeTable.staging.Security
O evite el CREATE
explícito y necesite listar todas las columnas con
SELECT TOP (0) IDENTITY(int,1,1) As Id, *
INTO #T
FROM TradeTable.staging.Security
ALTER TABLE #T ADD PRIMARY KEY(Id)
INSERT INTO #T
SELECT *
FROM TradeTable.staging.Security
Estoy cargando datos de un archivo CSV en una tabla de etapas temporales y esta tabla temporal está siendo consultada mucho. Miré mi plan de ejecución y vi que se pasa mucho tiempo escaneando la tabla temporal.
¿Hay alguna forma de crear un índice en esta tabla cuando 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)