聚集索引和非聚集索引上的SQL查询索引:索引的过程使已定义的表更快地返回所需的数据。如果没有索引,SQL服务器必须搜索整个表来查找数据。类似于通过查看索引页来搜索书中的内容,SQL服务器将进行索引。类似于表的索引使我们不必扫描整个数据库就能找到精确的数据。在SQL中,有两类索引。在执行查询时,通过减少磁盘访问的次数,索引有助于提高数据库性能。它是一种用于快速定位和访问数据库中的数据的数据结构方法。 聚集索引:为数据排序创建物理顺序的索引类型称为聚集索引。如果Stud_details表的主键是ID_NO,那么您自己构建的Clustered Index将根据ID_NO对Stud_details数据进行排序。与字典类似,Clustered Index没有明显的索引页,并按字母顺序排序。对于集群索引,使用有序文件。任何非键的列都用于定义文件的顺序。很多时候,非主列用于生成不是所有行唯一的索引。在这种情况下,我们通常将两个或多个列组合在一起以生成一个惟一的值,这将有助于快速访问条目。聚类索引是这种技术的名称。简单地说,索引是为具有共同特征的记录分组而创建的。 SQL代码: 输出: ![]() 如果我们想在不同的列上建立集群索引,必须先删除主键,然后才能删除前一个索引。请记住,当一个列被指定为主键时,该列将成为表的Clustered Index。我们必须首先删除前面的列,如下所示,然后才能创建任何附加列Clustered Index。 步骤: 注意:一个表中最多可以有一个Clustered Index。集群索引:非聚集索引是一种索引结构,它独立于表中保存的数据重新排列一个或多个选定的列。为了提高群集索引不能处理的常用查询的性能,开发了非群集索引。它类似于教科书,因为索引页是在书的开头独立制作的。换句话说,非聚集索引只是为我们提供了一组到数据的实际存储位置的虚拟链接或连接。当我们物理存储数据时,它的索引在那时并不重要。数据存在于叶节点中。与Clustered Index相比,它需要更长的时间,因为必须完成更多的工作才能通过进一步跟踪指针来检索数据。当对索引进行聚类时,数据直接位于索引的前面。 SQL代码: 输出: ![]() 注意:我们可以使用以下语法在一个表中创建多个非聚集索引:聚类索引和非聚类索引的区别:
下一个话题
SQL迁移到NoSQL数据库的策略
|