今天在启动应用时发现一个sql执行非常之慢,几乎需要一小时都执行不完.
Select *
From v_Sm_Org_Relation v
Where v.Unit_Id In (Select Distinct Customer_Id
From v_Out_Bis_Md_Org_Rel_Child
Where Qryorg_Rel_Id In (-300347))
其中视图v_sm_org_relation内层视图如下:
Select To_Number(Org.Id) Org_Rel_Id,
To_Number(Org.Parent_Id) Par_Org_Rel_Id,
To_Number(Org.Dimension_Id) Bus_Org_Id,
To_Number(Org.Unit_Id) Customer_Id,
...
From Up_Org_Dimension_Unit Org, Up_Org_Unit T1
Where Org.Unit_Id = T1.Unit_Id
刚开始怀疑是没有为To_Number(Org.Unit_Id) Customer_Id建索引所致,后来建立索引后发现仍非常慢,然后再尝试为To_Number(Org.Id) Org_Rel_Id建立索引后问题解决!
分享到:
相关推荐
总的来说,SQL优化是一个系统性的工作,需要结合硬件配置、数据库设计、SQL编写等多个方面进行综合考虑。而借助专业的SQL优化工具,这个过程可以变得更加高效和精确,从而确保数据库系统的稳定和高效运行。
SQL语句优化是数据库管理中的关键...总的来说,SQL优化是一个综合性的过程,涉及到语法、逻辑和物理设计等多个层面。通过深入理解SQL执行机制,结合具体业务场景,可以制定出针对性的优化策略,提高系统的整体性能。
SQL 查询优化是数据库优化的重要部分,查询优化器是 SQL SERVER 中的一个组件,可以自动优化查询语句,提高查询效率。本文将详细介绍查询优化器的工作原理、SARG 的定义和应用、查询优化的 tips 等。 一、查询优化...
- **及时处理过程中发生的意外和变化**:性能优化是一个动态过程,需要灵活应对各种突发情况。 - **80/20定律**:通常情况下,20%的优化工作可以带来80%的性能提升。 - **SQL优化机制**: - **SQL语句处理过程**...
ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一、访问表的方式 ORACLE ...
7. **整合简单无关联的数据库访问**:即使没有关联,也可以通过子查询或JOIN操作将多个简单查询合并为一个,减少数据库交互。 8. **删除重复记录**:使用ROWID进行删除操作可以高效地去除重复记录,因为它避免了...
7. **整合简单无关联的数据库访问**:将独立的简单查询合并到一个查询中,利用单次数据库访问获取多个结果。 8. **高效删除重复记录**:使用ROWID进行删除,例如通过子查询找到最小ROWID保留一条记录,其他重复记录...
以上介绍了30多条关于SQL优化的经验总结。这些技巧涵盖了SQL查询的各个方面,包括表连接顺序的选择、WHERE子句的优化、避免使用`SELECT *`、使用绑定变量、优化函数调用、合理利用索引、删除重复记录、TRUNCATE与...
这些步骤为优化工作提供了一个清晰的框架,帮助管理员有条不紊地进行SQL优化。 接下来,文档重点介绍了如何通过全面查询日志来截取SQL语句。在MySQL中,可以通过修改配置文件来启用全面查询日志,其中包括general_...
综上所述,SQL优化是一个综合性的过程,涉及到多个层面的技术和策略。通过对SQL语句的设计进行细致的规划和调整,可以显著提高数据库查询的性能和效率。在实践中,应不断积累经验,灵活运用各种技巧,以达到最佳的...
SQL 语句优化的过程包括定位有问题的语句、检查执行计划、检查执行过程中优化器的统计信息、分析相关表的记录数、索引情况、改写 SQL 语句、使用 HINT、调整索引、表分析等。只有通过这种方式,才能达到最佳执行...
如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)。 8. 删除重复记录 最高效的删除重复记录方法(因为使用了 ROWID)。例子:DELETE FROM EMP E WHERE E.ROWID > (SELECT...
可以通过设置CREATE_STORED_OUTLINES参数来记录SQL的执行计划,以便分析和优化。 15. DBA日志分析 - 数据库管理员日志包含了数据库运行中的各种信息,通过分析DBA日志,可以发现并解决问题,例如由隐含参数引起的...
`SQLTrace`是Oracle提供的一个强大的跟踪工具,可以记录SQL语句的执行细节,而`TKPROF`则是用来分析`SQLTrace`输出文件,将复杂的追踪信息转换为易于理解的格式,帮助用户定位查询中的性能问题。 ### 七、V$SQL视图...
**题目1:** 给定一张表`table1`有两个字段`FID`,`Fno`,编写一个SQL语句来列出该表中一个`FID`对应多个不同的`Fno`的记录。 **解答:** ```sql SELECT * FROM table1 WHERE FID IN ( SELECT FID FROM table1 ...
### Oracle 性能优化之 SQL优化 #### 一、引言 在数据库应用中,SQL查询性能直接影响到系统的响应时间和整体性能。对于大型企业级应用而言,优化SQL语句不仅能够提升用户体验,还能显著降低服务器负载,从而节省...
IN语句用于判断某个值是否在一个集合中,而EXIST语句用于判断某个子查询是否存在记录。IN和EXIST语句的使用可以提高数据库的性能和效率。 四、LIMIT语句 LIMIT语句是MySQL数据库中用于限制查询结果的语句。LIMIT...