我有一个相当大的postgres表,有几十亿行。但是,该表可以按一个列(type)进行分区 我们是否应该更喜欢: 包含两列的索引 create nonclustered index ix_index1 on table1(type, string_urn_id) 或条件索引 create nonclustered index ix_index1_alternative on table1(string_urn_id) WHERE type =
我有两个(几乎)相同的查询: SELECT guid, CAST(ExecutionOrder AS xml) as xInFusion_Data.dbo.compare_BlockInfoView MasterBIV ON MasterBIV.BlockGuid = b.blk.value('@Id', 'uniqueidentifier')
根据SQL执行计划,它们都需要相同的时间这使我认为在这两个查
NOT NULL, INDEX (countryCode, productId, merchantId)我在这个表上所做的唯一查找将是因此,索引可以用于所有查询,这是很好的。
并不是所有的查询都将包含一个merchantId,因此这个查询最好作为复合索引中的最后一列使用。现在,关于前两列:countryCode --我永远不会单独查找或 productId alone,因此