gpt4 book ai didi

sql-server - 这个建议的创建索引语句中的 sysname 的含义是什么?

转载 作者:行者123 更新时间:2023-12-02 22:26:47 24 4
gpt4 key购买 nike

今天我在 SSMS 中运行了一个查询,它给了我关于缺少索引的提示。
但是创建索引的语句让我很困惑,有一个名字Name of Missing Index这很清楚,但还有,sysname在我不明白的名称部分。

我一直在研究这个https://learn.microsoft.com/en-us/sql/t-sql/statements/create-index-transact-sql但我只是找不到这个创建语法的解释。

所以在[<Name of Missing Index, sysname,>]部分我可以替换 Name of Missing Index并保留值 sysname或者我必须在那里放其他东西吗?

我正在使用sql server 2014

这是 SSMS 创建的结果

/*
Missing Index Details from SQLQuery1.sql - SQLSERVER\GTT_192.GTT_Test (sa (70))
The Query Processor estimates that implementing the following index could improve the query cost by 43.2521%.
*/

/*
USE [GTT_Test]
GO
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [dbo].[tblRitRouteDetail] ([DistanceToll])
INCLUDE ([RitID])
GO
*/

如果我像这样创建索引有什么区别:

CREATE NONCLUSTERED INDEX IX_RitRouteDetail_DistanceToll  
ON dbo.tblRitRouteDetail (DistanceToll)
INCLUDE (RitID)

最佳答案

sysname 只是它所期望的 SQL 数据类型。它是 type.sysname,因此本质上该命令是在说请创建一个索引,并且缺少的索引的名称将是 sysname 类型。

The sysname data type is used for table columns, variables, and storedprocedure parameters that store object names. The exact definition ofsysname is related to the rules for identifiers. Therefore, it canvary between instances of SQL Server. sysname is functionally the sameas nvarchar(128) except that, by default, sysname is NOT NULL. Inearlier versions of SQL Server, sysname is defined as varchar(30).Important noteImportant In databases that are case-sensitive, or thathave a binary collation, sysname is recognized as a SQL Server systemdata type only when it appears in lowercase.msdn reference

编辑

要回答最初的问题,如果您以一种或另一种方式创建索引,有什么区别。没有什么区别,它们都会以完全相同的方式创建索引。

关于sql-server - 这个建议的创建索引语句中的 sysname 的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46076747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com