【问题标题】:Difference between Cluster and Non-cluster index in SQLSQL中Cluster和Non-cluster索引的区别
【发布时间】:2011-01-23 08:28:48
【问题描述】:

只是为了面试问题的知识,以及我的知识。

SQL - ClusterNon-cluster index 之间的区别?

【问题讨论】:

    标签: sql indexing clustered-index non-clustered-index


    【解决方案1】:

    描述两者的链接。

    http://www.mssqlcity.com/FAQ/General/clustered_vs_nonclustered_indexes.htm

    http://www.sql-server-performance.com/articles/per/index_data_structures_p1.aspx

    区别在于表中记录相对于索引的物理顺序。聚集索引在表中以这种方式进行物理排序。

    【讨论】:

      【解决方案2】:

      聚类索引

      1 聚簇索引是一种由列和行组成的表。
      2 簇索引存在于物理层面
      3 它在物理级别对数据进行排序
      4 它适用于整个表格
      5 有一个排序数据形式的整表 6 一张表只能包含一个簇索引

      非聚类索引

      1 非聚集索引是关于表的报告形式。
      2 它们不是在物理级别而是在逻辑级别创建的
      3 它不对物理级别的数据进行排序
      4 一张表有 255 个非聚集索引
      5 一张表有很多非聚集索引。
      6 它按数据顺序工作

      【讨论】:

        【解决方案3】:

        聚集索引

        • 每桌只有一个
        • 比非集群读取更快,因为数据物理存储在 索引顺序

        非聚集索引

        • 每桌可多次使用
        • 插入和更新操作比聚集索引更快

        当使用使用索引的字段选择数据时,这两种类型的索引都会提高性能,但将减慢更新和插入操作。

        不同之处在于,聚集索引对于任何给定的表都是唯一的,并且我们在一张表上只能有一个聚集索引。聚集索引的叶级是实际数据,在聚集索引的情况下,数据会被重新使用。 而在非聚集索引中,叶级实际上是指向行中数据的指针,因此我们可以在数据库上拥有尽可能多的非聚集索引。

        【讨论】:

          【解决方案4】:

          聚簇索引和非聚簇索引的区别是:

          • 簇索引在表中只有一列,插入、更新时速度较慢,每列一一查找。
          • 非聚集索引的过程比插入或更新时更快,并且它只搜索一个 id 而不是表的每一列。

          【讨论】:

            【解决方案5】:

            索引用于加速 SQL Server 中的查询过程,从而提高性能。它们类似于教科书索引。在教科书中,如果您需要转到特定章节,请转到索引,找到该章节的页码并直接转到该页面。如果没有索引,查找所需章节的过程会非常缓慢。

            这同样适用于数据库中的索引。如果没有索引,DBMS 必须遍历表中的所有记录才能检索所需的结果。这个过程称为表扫描,非常慢。另一方面,如果你创建索引,数据库会先到那个索引,然后直接检索对应的表记录。

            SQL Server 中有两种类型的索引:

            1. 聚集索引
            2. 非聚集索引

            聚集索引

            聚集索引定义了数据在表中的物理存储顺序。表数据只能以唯一方式排序,因此每个表只能有一个聚集索引。在 SQL Server 中,主键约束会自动在该特定列上创建聚集索引。

            非聚集索引

            非聚集索引不对表内的物理数据进行排序。实际上,非聚集索引存储在一个地方,而表数据存储在另一个地方。这类似于一本教科书,其中书籍内容位于一个地方,而索引位于另一个地方。这允许每个表有多个非聚集索引。

            Please use the link to read complete info

            【讨论】:

              猜你喜欢
              • 2016-07-01
              • 1970-01-01
              • 1970-01-01
              • 2020-08-20
              • 2019-01-29
              • 2016-09-16
              • 1970-01-01
              • 1970-01-01
              • 2016-04-25
              相关资源
              最近更新 更多