小编b.d*_*igg的帖子

使用多列索引 MYSQL 进行优化

寻找在 MySQL 中优化以下查询的方法。我曾尝试在 sales_date、serviceID 和 initalStatus 上创建多列索引,但它没有得到使用。我试图研究,但我对优化很陌生,似乎找不到合适的答案。下面是查询:

SELECT 
COUNT(id) as TotalAccounts,
AVG(sale_value) AS SaleValue,
AVG(credit_card = 1) * 100 AS CreditCard,
SUM(CASE WHEN pre_status = 1 AND bill_status = 'current' THEN 1 
ELSE 0
END) AS Active, 
SUM(CASE WHEN pre_status = 1 AND bill_status = 'past' THEN 1 
ELSE 0
END) AS PastDue, 
SUM(CASE WHEN `status` = 0 AND bill_status = 'past' THEN 1 
ELSE 0
END) AS Canceled
FROM table_x  
WHERE sales_date >= CAST('2015-01-01' AS DATE) 
AND sales_date <= …
Run Code Online (Sandbox Code Playgroud)

mysql indexing query-optimization amazon-aurora

2
推荐指数
1
解决办法
1809
查看次数