SQL Azure でのクエリの高速化に関するアドバイスを探しています。これは、実行中の 2 つのクエリの例です。そこに WHERE 句を追加すると、クエリが停止します。
theTime と orderType の両方の列にインデックスが付けられます。これらをより速く実行する方法、またはクエリをより効率的にするために行うことを誰かが提案できますか?
5.2 秒:
sum(cast(theTime AS INT)) as totalTime from Orders
20.2秒:
sum(cast(theTime AS INT)) as totalTime from Orders WHERE orderType='something_in_here'
関連情報は次のとおりです。
CREATE TABLE [dbo].[Orders] (
[ID] int IDENTITY(1,1) NOT NULL,
[orderType] nvarchar(90) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[orderTime] nvarchar(90) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PrimaryKey_fe2bdbea-c65a-0b85-1de9-87324cc29bff] PRIMARY KEY CLUSTERED ([ID])
WITH (IGNORE_DUP_KEY = OFF)
)
GO
CREATE NONCLUSTERED INDEX [orderTime]
ON [dbo].[Orders] ([orderTime] ASC)
WITH (IGNORE_DUP_KEY = OFF,
STATISTICS_NORECOMPUTE = OFF,
ONLINE = OFF)
GO
CREATE NONCLUSTERED INDEX [actiontime_int]
CREATE NONCLUSTERED INDEX [orderType]
ON [dbo].[Orders] ([orderType] ASC)
WITH (IGNORE_DUP_KEY = OFF,
STATISTICS_NORECOMPUTE = OFF,
ONLINE = OFF)
GO