代码之家  ›  专栏  ›  技术社区  ›  user181548

什么是SQL索引名?

  •  9
  • user181548  · 技术社区  · 15 年前

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

    CREATE INDEX timestamp_index ON hit (timestamp);
    

    唯一一次,这个名字似乎是必要的,如果我想删除索引与

    DROP INDEX timestamp_index;
    

    索引名还有其他用途吗?

    6 回复  |  直到 15 年前
        1
  •  4
  •   dkackman Srinivas Kokkula    15 年前
    ALTER INDEX timestamp_index ...
    

    T-SQL link

        2
  •  15
  •   SQLMenace    15 年前

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

    如何重建索引?

    你将如何改变索引?

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

    你会如何使用 sys.dm_db_missing_index_details 你不知道车管所的名字?

    primary key clustered index

    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__bla__3213E83F66603565

        3
  •  6
  •   Kalium    15 年前

        4
  •  1
  •   Matt Mitchell    15 年前

    不然你怎么识别索引呢?

    可能还有日志记录。

        5
  •  1
  •   Joe    15 年前

        6
  •  0
  •   onedaywhen    15 年前

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

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