什么是SQL索引名?

什么是SQL索引名?,sql,indexing,Sql,Indexing,在SQL中,当我创建数据库索引时,需要为索引指定一个名称,如中所示 CREATE INDEX timestamp_index ON hit (timestamp); 唯一需要这个名字的时候是我想用 DROP INDEX timestamp_index; 索引名还有其他用途吗?您如何识别索引 可能还附带了日志记录。有时需要进行索引提示,告诉查询引擎应该使用什么索引。如果您的索引没有命名,则无法执行此操作 ALTER INDEX timestamp_index ... 它在查看/查看执行计划时

在SQL中,当我创建数据库索引时,需要为索引指定一个名称,如中所示

CREATE INDEX timestamp_index ON hit (timestamp);
唯一需要这个名字的时候是我想用

DROP INDEX timestamp_index;

索引名还有其他用途吗?

您如何识别索引


可能还附带了日志记录。

有时需要进行索引提示,告诉查询引擎应该使用什么索引。如果您的索引没有命名,则无法执行此操作

ALTER INDEX timestamp_index ...

它在查看/查看执行计划时(至少在SQL Server中)也很有帮助,因为使用的索引是按名称显示的。

以下是一些需要考虑的问题:

您将如何重建索引

您将如何整理/重新组织索引

您将如何更改索引

您将如何查看索引以查看其中有哪些列

查看执行计划时,您如何知道使用了什么索引

在执行大容量插入/BCP时,如何禁用索引

如果您不知道DMV的名称,您将如何使用
sys.dm\u db\u missing\u index\u details
DMV

顺便说一句,当您创建一个
主键时,默认情况下将创建一个
聚集索引
,SQL Server将为您命名

create table bla  (id int primary key)
go

select * from sys.sysobjects s 
join sys.sysobjects s2 on s.parent_obj = s2.id
where s2.name = 'bla'
以下是为该索引生成的名称
PK_uubla_uu3213e83f66603565

我对文件名也有同样的感觉。当文件的属性更好时,mp3文件名是否需要包含元数据(艺术家、唱片集、不是播客等)?我的ipod上的文件与硬盘上相应的文件名不相似,因为它使用了索引,我不需要为索引想出一个名称


与数据元素名称不同,索引的名称是任意的。理想的索引是一个由系统创建并永远由系统“照顾”的索引,这是系统最清楚的。可悲的是,现实情况是,在极少数情况下,你可能需要用它做点什么(例如放下它!)。您可以参考系统词典,根据索引的属性来识别索引,通常只是索引包含的列。

否则,您如何识别索引的用途?如果它只在数据库引擎内部使用,我不需要给它命名。修改它,删除它,测量它的效率。如果有兴趣的话,我现在实际上正在使用SQLite。你甚至不需要索引名来删除索引(如果数据库支持语法):drop index hit(timestamp);这个问题与我的问题类似: