创建具有多个字段的索引

mHelpMe

我正在使用SQL Server 2012。

我有下面的表格,

create table myTable
(
    Id int identity(1, 1) constraint PK_myTable primary key(Id),
    DateEntry date,
    FundCode nvarchar(10),
    Sedol nvarchar(7),
    Name nvarchar(150),
    Nominal int,
    PriceDate date,
    Price float,
    PriceCcy nvarchar(3),
    PriceSource nvarchar(30)
 )

因此,大多数选择查询将在dateEntry字段和FundCode字段上。

因此,我决定在下面创建两个索引。我想知道是否可以假设每个选择查询都将有一个DateEntry作为where子句的一部分,是否需要第一个索引?因为如果未提供FundCode,它仍然可以使用第二个索引,或者那是不正确的吗?

create index IX_tblEQ_Holdings_Date on tblFI_Holdings(DateEntry)
create index IX_tblEQ_Holdings_DateFund on tblFI_Holdings(DateEntry, FundCode)
詹姆斯·Z

如果索引具有多个字段,则查询只能使用部分字段,但只能从左侧使用,因此例如,如果索引具有字段A,B和C,则查询可以使用A,A,B和A,B和C,但不包括A和C。

在您的情况下,您可能只接受第二个索引。第一个当然会稍小一些,但它也会导致更新/插入的开销,因此通常创建这样的索引不是一个好主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据要求创建具有多个字段的对象?

来自分类Dev

创建具有多个字段的单个<input>类型

来自分类Dev

创建具有多个字段值的交叉表

来自分类Dev

具有多个字段的子查询

来自分类Dev

QInputDialog具有多个字段

来自分类Dev

折叠具有多个字段的行

来自分类Dev

Lucene Queryparser具有多个字段

来自分类Dev

创建具有多个字段的对象的最易维护和易读的方式

来自分类Dev

Angular-7-如何从具有多个字段的Response中创建对象?

来自分类Dev

xtext / xtend使用联接创建具有多个字段的列表

来自分类Dev

使用Java在mongodb中使用多个字段创建索引

来自分类Dev

Django在具有多个值的多个字段中搜索

来自分类Dev

ES中具有多个字段的通配符查询?

来自分类Dev

如何匹配具有多个字段的期权?

来自分类Dev

Spring中具有相同名称的多个字段

来自分类Dev

如何建立具有多个字段的语义不变实体

来自分类Dev

mongodb具有多个字段的文本搜索

来自分类Dev

FOSUserBundle验证具有多个字段的用户

来自分类Dev

Java中的Mongo聚合:具有多个字段的组

来自分类Dev

ElasticSearch将具有不同值的多个字段匹配

来自分类Dev

如何处理具有多个字段的返回类型

来自分类Dev

ElasticSearch在多个字段上进行过滤(具有聚集)

来自分类Dev

TypeScript:与Pick <...>相同,但具有多个字段

来自分类Dev

房间。错误:多个字段具有相同的columnName

来自分类Dev

Elasticsearch等效SQL In Query中具有多个字段

来自分类Dev

symfony2具有多个字段的UniqueEntity

来自分类Dev

模态删除(并确认)+具有多个字段的编辑按钮

来自分类Dev

折线图具有多个字段ext js

来自分类Dev

如何匹配具有多个字段的期权?

Related 相关文章

热门标签

归档