简体   繁体   English

如何优化oracle中的慢查询

[英]How I can optimize slow query in oracle

INSERT INTO temp_cl_user_pks
    SELECT DISTINCT
      tb_abc_login.pk_tb_login_master login_master, --Modified for Pega_S-121214-007856 (Defect #7551)
      tb_user_details.email_id        email
    FROM tb_abc_login            tb_abc_login,
         tb_user_details         tb_user_details,
         tb_unit                 tb_unit,
         tb_user_hierarchy       tb_user_hierarchy,
         tb_company_lmn          tb_company_lmn,
         tb_user_company         tb_user_company,
         temp_cl_units_hierarchy aa
    WHERE tb_unit.processor_key                   LIKE aa.cl_region_key

      AND tb_abc_login.pk_tb_abc_login          = tb_user_details.fk_tb_abc_login
      AND tb_abc_login.rec_status               = 'AC'

      AND tb_user_value.rec_status              = 'AC'

      AND tb_unit.unit_id                       = tb_user_hierarchy.fk_unit_id
      AND tb_unit.purgeid                         IS NULL

      AND tb_user_hierarchy.fk_tb_abc_login     = tb_abc_login.pk_tb_abc_login
      AND tb_user_hierarchy.rec_status          = 'AC'

      AND tb_user_company.fk_tb_company_lmn     = tb_company_lmn.pk_tb_company_lmn
      AND tb_user_company.fk_tb_abc_login       = tb_abc_login.pk_tb_abc_login
      AND tb_user_company.rec_status            = 'AC'

      AND tb_company_lmn.rec_status             = 'AC'
      AND UPPER(tb_user_value.email_id)           LIKE email ESCAPE '\'
      AND tb_company_lmn.pk_tb_company_lmn      = aa.fk_tb_ref_hierarchy
      AND tb_user_hierarchy.fk_tb_ref_hierarchy = tb_company_lmn.pk_tb_company_lmn
      AND tb_unit.restricted_flag               ='Y'
        --AND  tb_user_company.secure_hierarchy ='Y'
      AND aa.region_short_code                  ='LMN';

There is no silver bullet solution to query optimization and performance tuning on a RDBMS database.对于 RDBMS 数据库上的查询优化和性能调整,没有银弹解决方案。

There are countless articles on this topic.关于这个主题的文章数不胜数。 There are a few places where you could start digging to find out the root cause.有几个地方您可以开始挖掘以找出根本原因。

1) Check system resources. 1) 检查系统资源。 Does your system have adqeuate resources at its disposal?您的系统是否有足够的资源可供使用?

2) Check if the system is correctly configured. 2) 检查系统配置是否正确。

3) Look at the explain plan for the query. 3) 查看查询的解释计划

If your issue is not located by steps 1 or 2. Then you need to dig deeper into the explain plan.如果您的问题未通过步骤 1 或 2 找到。那么您需要更深入地研究解释计划。 If you edit your question and post your explain plan, others might be able to help you further.如果您编辑您的问题并发布您的解释计划,其他人可能会进一步帮助您。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM