【问题标题】:How do I find a list of indexes on a temporary table that I've created in SQL Server 2012如何在 SQL Server 2012 中创建的临时表上查找索引列表
【发布时间】:2017-03-06 12:51:30
【问题描述】:

请有人帮我获取我在 SQL Server 2012 中创建的临时表的索引列表

【问题讨论】:

    标签: sql sql-server temporary database-indexes


    【解决方案1】:
    CREATE TABLE #tmpTable (ID BIGINT PRIMARY KEY, INDEXCOLUMN BIGINT)
    
    IF NOT EXISTS(SELECT * FROM tempdb.sys.indexes WHERE name = 'IX_TMPINDEX' AND OBJECT_ID = object_id('tempdb..#tmpTable'))
    BEGIN
    CREATE NONCLUSTERED INDEX IX_TMPINDEX ON #tmpTable (INDEXCOLUMN)    
    END
    
    GO 
    
    SELECT * FROM tempdb.sys.indexes WHERE OBJECT_ID = object_id('tempdb..#tmpTable')
    

    【讨论】:

    • 你为什么不能使用类似 SELECT object_id('tempdb..IX_TMPINDEX');或者你可以吗?
    【解决方案2】:

    这是一种方法,使用sp_helpindex

    CREATE TABLE #temp (id int, val1 int)
    
    CREATE INDEX ix_t1 on #temp (id)
    
    EXEC tempdb.dbo.sp_helpindex '#temp'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-31
      • 2014-02-21
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-10
      相关资源
      最近更新 更多