Indexing 如何计算色谱柱选择性

Indexing 如何计算色谱柱选择性,indexing,rdbms,Indexing,Rdbms,我想在一个表上创建一个索引,并试图根据列的选择性来决定索引中列的顺序 因此,最有选择性的列(将更多选择缩小到最窄的列)将是索引中的第一列,然后是第二个最有选择性的列,等等 如何计算色谱柱的选择性?这是每个色谱柱的简单比率: (列的唯一值数)到(表中的行数) 计算数字取决于您的RDBMS。对于SQL Server,您可以获得如下数字: SELECT COUNT(DISTINCT ColumnName) FROM TableName SELECT COUNT(*) FROM TableName

我想在一个表上创建一个索引,并试图根据列的选择性来决定索引中列的顺序

因此,最有选择性的列(将更多选择缩小到最窄的列)将是索引中的第一列,然后是第二个最有选择性的列,等等


如何计算色谱柱的选择性?

这是每个色谱柱的简单比率:

(列的唯一值数)到(表中的行数)

计算数字取决于您的RDBMS。对于SQL Server,您可以获得如下数字:

SELECT COUNT(DISTINCT ColumnName) FROM TableName

SELECT COUNT(*) FROM TableName

明白了,谢谢。有一点需要补充:在评估多列索引的潜在性能时,还需要计算各种列组合的选择性。