【问题标题】:A better way rather than using INFORMATION_SCHEMA.TABLE_CONSTRAINTS比使用 INFORMATION_SCHEMA.TABLE_CONSTRAINTS 更好的方法
【发布时间】:2017-09-02 22:31:01
【问题描述】:

我得到了以下查询,它运行良好,并给出了我想要的结果。然而,返回结果需要 3 秒,我发现这太慢了。

有人知道更好的方法吗?

SELECT 
    @PrimaryKey = ccu.Column_Name 
FROM 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu on 
    tc.CONSTRAINT_NAME = ccu.Constraint_name
WHERE 
    tc.CONSTRAINT_TYPE = 'Primary Key' and 
    tc.Table_Name  = @TableName 
    --tc.Table_Schema = 'LookUp'

【问题讨论】:

    标签: sql-server azure-sql-database


    【解决方案1】:

    我很惊讶您的查询需要这么长时间,但您可以通过 SQL Server 目录视图获得相同的信息:

    SELECT c.name
    FROM sys.indexes AS i
    JOIN sys.index_columns AS ic ON ic.object_id = i.object_id AND ic.index_id = i.index_id
    JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
    WHERE
        i.is_primary_key = 1
        AND i.object_id = OBJECT_ID(N'dbo.YourTable', 'U');
    

    【讨论】:

    猜你喜欢
    • 2017-06-26
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 2014-05-24
    • 2016-12-23
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多