Sql server Azure Sql数据仓库表中是否需要索引来提高多表联接查询的性能

Sql server Azure Sql数据仓库表中是否需要索引来提高多表联接查询的性能,sql-server,azure,indexing,data-warehouse,Sql Server,Azure,Indexing,Data Warehouse,据我所知,在Azure SQL数据仓库表中,每一列都在列存储表中编制索引(可能我错了)。如果是这种情况,为什么能够创建其他索引(CREATEINDEX语句)。我想可能是因为复合索引(多字段索引) 但是,在使用单个字段联接的查询中,在该字段上创建索引后,性能会更好 在Azure Sql数据仓库中创建索引时是否有一些通用规则 通常我们应该在列上创建索引,这在任何查询中都会用到。索引也是数据库的负担,因为索引占用磁盘空间。在表的所有列上创建索引不是一个好主意。我们应该在查询的基础上建立索引 除了索引,

据我所知,在Azure SQL数据仓库表中,每一列都在列存储表中编制索引(可能我错了)。如果是这种情况,为什么能够创建其他索引(CREATEINDEX语句)。我想可能是因为复合索引(多字段索引)

但是,在使用单个字段联接的查询中,在该字段上创建索引后,性能会更好


在Azure Sql数据仓库中创建索引时是否有一些通用规则

通常我们应该在列上创建索引,这在任何查询中都会用到。索引也是数据库的负担,因为索引占用磁盘空间。在表的所有列上创建索引不是一个好主意。我们应该在查询的基础上建立索引


除了索引,我们还可以使用分区或表空间来提高查询性能。

我同意您在普通SQL server中的看法。在SQL数据仓库中,我认为它的工作方式不同。我正在努力寻找为PDW创建索引的最佳实践。