假设我有一个使用 Oracle SQo Server 从数据库中获取数据的 SQL 查询 如下
select distinct ORDER_TYPE_name as ORDER_TYPE from
PRODUCT_MASTER_LIST where PROJECT_ID = 99999
order by ORDER_TYPE ASC
我现在有 5000 条记录,订单类型如下:
Red
Yellow
Green
Black
null
Unclassified
如何通过缩短查询执行时间来优化性能?
注意当我看到执行计划时,有很多完全访问通过表?
最佳答案
您可以在这两列上定义索引以防止表扫描。这应该会大大缩短执行时间。
CREATE INDEX IX_ProductMasterList_OrderType
ON PRODUCT_MASTER_LIST(PROJECT_ID, ORDER_TYPE);
关于SQL优化不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12614408/