zoukankan      html  css  js  c++  java
  • oracle 减少对表的查询

    在含有子查询的SQL语句中,要特别注意减少对表的查询.

      例如:

         低效

              SELECT TAB_NAME

              FROM TABLES

              WHERE TAB_NAME = ( SELECT TAB_NAME

                                    FROM TAB_COLUMNS

                                    WHERE VERSION = 604)

              AND DB_VER= ( SELECT DB_VER

                               FROM TAB_COLUMNS

                               WHERE VERSION = 604)

         高效

              SELECT TAB_NAME

              FROM TABLES

              WHERE  (TAB_NAME,DB_VER)

     = ( SELECT TAB_NAME,DB_VER)

                       FROM TAB_COLUMNS

                       WHERE VERSION = 604)

         Update 多个Column 例子:

         低效:

               UPDATE EMP

               SET EMP_CAT = (SELECT MAX(CATEGORY) FROM EMP_CATEGORIES),

                  SAL_RANGE = (SELECT MAX(SAL_RANGE) FROM EMP_CATEGORIES)

               WHERE EMP_DEPT = 0020;

         高效:

               UPDATE EMP

               SET (EMP_CAT, SAL_RANGE)

     = (SELECT MAX(CATEGORY) , MAX(SAL_RANGE)

     FROM EMP_CATEGORIES)

               WHERE EMP_DEPT = 0020;

  • 相关阅读:
    O(1)时间求出栈内元素最小值
    静态查找>顺序、折半、分块查找
    字符串的最大重复数
    数据结构>栈
    排序>归并排序
    动态查找>二叉查找树(Binary Search Tree)
    数据结构>图的存储结构
    数据结构>图的连通性和最小生成树
    图片的轮廓
    数据结构>队列
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11124372.html
Copyright © 2011-2022 走看看