zoukankan      html  css  js  c++  java
  • 索引覆盖生成脚本

    SET NOCOUNT ON
    DECLARE @tbname VARCHAR(30)
    SET @tbname = '用户档案'


    DECLARE @columns TABLE ( id INT, NAME VARCHAR(30) )


    INSERT @columns
    SELECT ROW_NUMBER() OVER ( ORDER BY columns.object_id ) id,
    columns.NAME
    FROM sys.columns
    JOIN sys.objects ON columns.object_id = objects.object_id
    JOIN sys.types ON columns.user_type_id = types.user_type_id
    WHERE columns.object_id = OBJECT_ID(@tbname)

    DECLARE @CreateIndexSql VARCHAR(MAX)

    DECLARE @id INT
    DECLARE @name VARCHAR(MAX)
    DECLARE @maxid INT
    SET @id = 1
    SELECT @maxid = MAX(id)
    FROM @columns
    WHILE ( @id <= @maxid )
    BEGIN
    DECLARE @include VARCHAR(MAX)= ''
    SELECT @include = @include + NAME + ','
    FROM @columns
    SELECT @name = name
    FROM @columns
    WHERE id = @id
    SET @include = REPLACE(',' + @include, ',' + @name + ',', ',')

    SET @CreateIndexSql = ' CREATE INDEX ix_' + @tbname + '' + @name
    + ' ON ' + @tbname + '
    (
    ' + @name + '
    )
    INCLUDE (,' + @include + ' )
    WITH ( SORT_IN_TEMPDB = ON ) ON [PRIMARY]
    '

    SET @CreateIndexSql = REPLACE(@CreateIndexSql, ',,', ',')
    SET @CreateIndexSql = REPLACE(@CreateIndexSql, '(,', '(')
    SET @CreateIndexSql = REPLACE(@CreateIndexSql, ', )', ')')
    PRINT @CreateIndexSql
    EXEC ( @CreateIndexSql )
    SET @id = @id + 1
    END


  • 相关阅读:
    Puzzle, ACM/ICPC World Finals 1993, UVa227
    Puzzle, ACM/ICPC World Finals 1993, UVa227
    All in All, UVa 10340
    All in All, UVa 10340
    Box, ACM/ICPC NEERC 2004, UVa1587
    Box, ACM/ICPC NEERC 2004, UVa1587
    动态文本输出
    形态分析法
    粒子系统
    思维
  • 原文地址:https://www.cnblogs.com/qanholas/p/2498592.html
Copyright © 2011-2022 走看看