包含所有其他列的列上的非聚集索引是否几乎就像不同列上的聚集索引?它实际上会复制整个表格吗?
通常您可能不需要这样做,因为查找行可能比复制数据成本更低,但我是从理论上的角度问的。
我使用以下数据库系统MSSQL
,PostgreSQL
并且Oracle
。它会依赖于不同的数据库吗?
包含所有其他列的列上的非聚集索引是否几乎就像不同列上的聚集索引?它实际上会复制整个表格吗?
通常您可能不需要这样做,因为查找行可能比复制数据成本更低,但我是从理论上的角度问的。
我使用以下数据库系统MSSQL
,PostgreSQL
并且Oracle
。它会依赖于不同的数据库吗?
答案会根据您对“等效”一词的理解而有所不同。
从逻辑/应用程序的角度来看,它们是相同的。两者都引用表的所有列并定义所有行的排序。
从物理上讲,磁盘上的映像和通过服务器软件执行的线程很可能不同。优化器也可能以不同方式对待它们。