我有一张桌子,我正在寻找一种方法来提高它的性能。下面是要执行的查询列表。
dbo.CustomersSmallOrders
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY CLUSTERED,
CustomerName VARCHAR(MAX) NOT NULL,
OrderDate DATETIME NOT NULL,
Quantity INT NOT NULL,
Amount DECIMAL(15,2) NOT NULL,
AvailableAmount DECIMAL(15,2) NOT NULL,
Type TINYINT NOT NULL,
Status TINYINT NOT NULL
)
您能否帮我重写下面的查询并向表中添加索引以提高其性能?
SELECT *
FROM CustomersSmallOrders
WHERE Left(CustomerName, 4) = 'Levis'
SELECT *
FROM CustomersSmallOrders
WHERE DateDiff(month, OrderDate, GetDate()) >= 30
SELECT *
FROM CustomersSmallOrders
WHERE Quantity * 2 < 3400
SELECT
SUM(CASE
WHEN Type = 2 AND STATUS IN (0, 1, 2) THEN Amount
ELSE 0
END)
,SUM(CASE
WHEN Type = 1 AND STATUS IN (0, 1) THEN Amount
ELSE 0
END)
,SUM(CASE
WHEN Type = 2 AND STATUS IN (0, 1) THEN Amount - AvailableAmount
ELSE 0
END)
FROM CustomersSmallOrders
WHERE STATUS IN (0, 1, 2)