SQL优化不同

标签 sql oracle optimization

假设我有一个使用 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/

相关文章:

php - 字符串转十进制 Laravel 迁移

java - Hibernate Criteria 按查询分组的行数

python - PULP:根据约束检查变量设置

c++ - 有没有更快的方法从无序集合中删除和存储元素

SQL 帮助,选择特定列

SQL 触发器不能绑定(bind)多部分标识符

mysql - 多次将字符串插入mysql,每次删除最后一个字符,一次查询

sql - Oracle 将行转换为列并合并重复行

oracle - DBMS_LOB.LoadFromFile 完整性检查

mysql - “大致”数据库记录数以节省 Cpu 周期