Sql server 为表的所有列编制索引

Sql server 为表的所有列编制索引,sql-server,indexing,Sql Server,Indexing,我有一个巨大的数据库,其中只有select语句。有不同的应用程序使用这个。在15列中,有12列正在这些应用程序中使用。是否建议在索引中使用所有这12列?如果没有,问题是什么 请注意,插入或更新每周仅发生一次或两次。其思想是删除所有这些索引,并在加载表后重新创建 感谢您的帮助。这取决于这些列的用途: 索引列使用了更多的磁盘空间和内存,并降低了插入和更新速度,因为SQL引擎必须更新索引 当您检索数据时,索引为您提供了巨大的速度增益,并且索引字段用于WHERE、JOIN、GROUP BY或ORDER

我有一个巨大的数据库,其中只有select语句。有不同的应用程序使用这个。在15列中,有12列正在这些应用程序中使用。是否建议在索引中使用所有这12列?如果没有,问题是什么

请注意,插入或更新每周仅发生一次或两次。其思想是删除所有这些索引,并在加载表后重新创建


感谢您的帮助。

这取决于这些列的用途:

索引列使用了更多的磁盘空间和内存,并降低了插入和更新速度,因为SQL引擎必须更新索引

当您检索数据时,索引为您提供了巨大的速度增益,并且索引字段用于WHERE、JOIN、GROUP BY或ORDER BY

如果表很大,那么12个索引列可能会占用大量磁盘空间和内存,并有效地降低数据检索的速度。最好的办法是使用性能调谐器来确定哪些索引将给您带来最大的收益


然而,这实际上取决于您的应用程序。虽然索引的列比例如此之大是不寻常的,但在您的情况下可能会起作用。

这取决于这些列的用途:

索引列使用了更多的磁盘空间和内存,并降低了插入和更新速度,因为SQL引擎必须更新索引

当您检索数据时,索引为您提供了巨大的速度增益,并且索引字段用于WHERE、JOIN、GROUP BY或ORDER BY

如果表很大,那么12个索引列可能会占用大量磁盘空间和内存,并有效地降低数据检索的速度。最好的办法是使用性能调谐器来确定哪些索引将给您带来最大的收益


然而,这实际上取决于您的应用程序。尽管索引的列比例如此之大是不寻常的,但它可能在您的情况下起作用。

@JustinHui给出了一些很好的见解,而且由于您的情况是只读的,如果您有足够的空间,您肯定可以为所有列编制索引

但在此之前,请使用较小但相当大的部分数据进行测试。从WHERE、JOIN、GROUP BY和ORDER BY中引用频率高于其他列的列开始,看看您发现了哪些改进。如果需要,请逐渐增加。我猜某些指数是过分的,但只有测试才能证明这一点

最后,如果您想为所有内容编制索引,并且空间是一个问题,那么您可以始终使用索引查看数据库之外的内容。一旦你掌握了窍门,你就可以索引,甚至为用户提供酷酷的分面搜索。您每周只需要重建Solr索引一到两次


希望能有所帮助。

@JustinHui给出了一些很好的见解,而且由于您的情况是只读的,如果您有足够的空间,您肯定可以为所有列编制索引

但在此之前,请使用较小但相当大的部分数据进行测试。从WHERE、JOIN、GROUP BY和ORDER BY中引用频率高于其他列的列开始,看看您发现了哪些改进。如果需要,请逐渐增加。我猜某些指数是过分的,但只有测试才能证明这一点

最后,如果您想为所有内容编制索引,并且空间是一个问题,那么您可以始终使用索引查看数据库之外的内容。一旦你掌握了窍门,你就可以索引,甚至为用户提供酷酷的分面搜索。您每周只需要重建Solr索引一到两次


希望有帮助。

您使用的是哪种数据库管理系统?博士后?Oracle?我正在使用Sql Server…您正在使用哪些DBMS?博士后?Oracle?我正在使用Sql Server…感谢您抽出时间回答我的问题。应用程序使用几乎所有类型的join、where和orderby子句,这取决于业务逻辑,并且使用所有12列,因此我不能说有特定的顺序。我所能做的就是,尝试不同的索引方法并查看性能。感谢您抽出时间回答我的问题。应用程序使用几乎所有类型的join、where和orderby子句,这取决于业务逻辑,并且使用所有12列,因此我不能说有特定的顺序。我所能做的就是,尝试不同的索引方法,看看性能。谢谢你的回复。除了SQL pro filer和tuning adviser之外,我还想知道几个性能最好的调谐器来识别这一点。对于SQL server,SQL pro filer和tuning adviser是我使用过的最好的调谐器。但是我相信其他人可能会建议其他选择酷。。谢谢你的回复谢谢你的回复。除了SQL pro filer和tuning adviser之外,我还想知道几个性能最好的调谐器来识别这一点。对于SQL server,SQL pro filer和tuning adviser是我使用过的最好的调谐器。但是我相信其他人可能会建议其他选择酷。。非常感谢你的回复