在 Table 变量上创建索引
Create INDEX on Table Variable
我正在尝试在 table 变量上创建索引,这可能吗?
DECLARE @RDTABLE TABLE (TLCDE VARCHAR(12), TLTYP VARCHAR(2), TLEFFDAT DATETIME, TLRATFCT DECIMAL(29,6))
INSERT INTO
@RDTABLE
SELECT
TLCDE
, TLTYP
, TLEFFDAT
, TLRATFCT
FROM
BT_TR
WHERE
TLTYP = 'TX'
通常我会这样创建索引:
CREATE NONCLUSTERED INDEX IX_RDTABLE ON RDTABLE ([TLTYP],[TLEFFDAT])
INCLUDE ([TLCDE],[TLRATFCT])
是的,您可以像这样在 table 变量的脚本中直接创建索引:
DECLARE @RDTABLE TABLE (TLCDE VARCHAR(12), TLTYP VARCHAR(2), TLEFFDAT DATETIME, TLRATFCT DECIMAL(29,6), INDEX [index_name] [NONCLUSTERED/CLUSTERED](column_name))
考虑是否是使用临时 tables 而不是 table 变量的情况,因为视情况而定可能更好地处理索引
此功能仅适用于 sqlserver 2014 版本
我在网上找到这篇文章:
http://www.brentozar.com/archive/2014/04/table-variables-good-temp-tables-sql-2014/
我正在尝试在 table 变量上创建索引,这可能吗?
DECLARE @RDTABLE TABLE (TLCDE VARCHAR(12), TLTYP VARCHAR(2), TLEFFDAT DATETIME, TLRATFCT DECIMAL(29,6))
INSERT INTO
@RDTABLE
SELECT
TLCDE
, TLTYP
, TLEFFDAT
, TLRATFCT
FROM
BT_TR
WHERE
TLTYP = 'TX'
通常我会这样创建索引:
CREATE NONCLUSTERED INDEX IX_RDTABLE ON RDTABLE ([TLTYP],[TLEFFDAT])
INCLUDE ([TLCDE],[TLRATFCT])
是的,您可以像这样在 table 变量的脚本中直接创建索引:
DECLARE @RDTABLE TABLE (TLCDE VARCHAR(12), TLTYP VARCHAR(2), TLEFFDAT DATETIME, TLRATFCT DECIMAL(29,6), INDEX [index_name] [NONCLUSTERED/CLUSTERED](column_name))
考虑是否是使用临时 tables 而不是 table 变量的情况,因为视情况而定可能更好地处理索引
此功能仅适用于 sqlserver 2014 版本
我在网上找到这篇文章:
http://www.brentozar.com/archive/2014/04/table-variables-good-temp-tables-sql-2014/