我有一张这样的桌子:
CREATE TABLE [dbo].[MoneyTrans]
(
[Trans_id] [nvarchar](25) NULL,
[Amount] [nvarchar](25) NULL,
[Currency] [nvarchar](11) NULL,
[ExchangeRate] [nvarchar](25) NULL,
[CorrAmount] [nvarchar](25) NULL,
[senderName] [nvarchar](255) NULL,
[SenderPhone] [nvarchar](20) NULL,
[RecipientName] [nvarchar](255) NULL,
[RecipientPhone] [nvarchar](20) NULL,
[SenderPr] [nvarchar](5) NULL,
[RecipientPr] [nvarchar](5) NULL,
[Trans_Status] [nvarchar](25) NULL,
[SendDate] [nvarchar](12) NULL,
[Receivdate] [nvarchar](12) NULL,
[Trans_type] [nvarchar](25) NULL
) ON [PRIMARY]
所有查询看起来都是
SELECT *
FROM MoneyTrans
WHERE [senderName] = 'some one' OR [RecipientName] = 'some one'
或
SELECT *
FROM MoneyTrans
WHERE [SenderPhone] = '123456' OR [RecipientPhone] = '123456'
最佳的索引编制策略是什么?
像这样使用覆盖索引吗?
CREATE NONCLUSTERED INDEX [ix_MoneyTrans_NamPhon]
ON [dbo].[MoneyTrans] ([senderName] ASC, [RecipientName] ASC)
INCLUDE ([Trans_id], [Amount], [Currency], [ExchangeRate], [CorrAmount],
[SenderPhone], [RecipientPhone], [SenderPr], [RecipientPr],
[Trans_Status], [SendDate], [Receivdate], [Trans_type])
还是只使用常规的非聚集索引?
希望您能帮助我,非常感谢。