Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle 10g:MIN/MAX स्तंभ मान अनुमान

हां, LOW_VALUE और HIGH_VALUE आपको लेकिन कॉलम में न्यूनतम और अधिकतम मान बताएंगे :

  • वे रॉ (32) कॉलम के रूप में संग्रहीत हैं, इसलिए अर्थ तुरंत स्पष्ट नहीं होगा
  • वे तालिका के लिए पिछली बार के आंकड़े एकत्र किए जाने के समान होंगे, इसलिए हो सकता है कि वे सटीक न हों (जब तक कि आप उनका उपयोग करने से पहले स्पष्ट रूप से आंकड़े एकत्र नहीं करते हैं)

यदि आप कॉलम को अनुक्रमित करते हैं तो MIN(a) और MAX(a) बहुत तेज़ होना चाहिए क्योंकि इस उदाहरण में जहां T1 में 50000 पंक्तियाँ हैं और OBJECT_ID पर अनुक्रमित हैं:

SQL> select min(object_id) from t1;

MIN(OBJECT_ID)
--------------
           100

------------------------------------------------------------------------------------
| Id  | Operation                  | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT           |       |     1 |     5 |     2   (0)| 00:00:01 |
|   1 |  SORT AGGREGATE            |       |     1 |     5 |            |          |
|   2 |   INDEX FULL SCAN (MIN/MAX)| T1_ID | 53191 |   259K|     2   (0)| 00:00:01 |
------------------------------------------------------------------------------------

Statistics
----------------------------------------------------------
          1  recursive calls
          0  db block gets
          2  consistent gets
          0  physical reads
          0  redo size
        419  bytes sent via SQL*Net to client
        380  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

यदि आप MIN के बजाय MAX का चयन करते हैं तो परिणाम समान होता है। हालांकि, यदि आप एक ही चयन कथन में MIN और MAX का चयन करते हैं तो परिणाम भिन्न होता है:

SQL> select min(object_id), max(object_id) from t1;

MIN(OBJECT_ID) MAX(OBJECT_ID)
-------------- --------------
           100          72809


-------------------------------------------------------------------------------
| Id  | Operation             | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |       |     1 |     5 |    34   (0)| 00:00:01 |
|   1 |  SORT AGGREGATE       |       |     1 |     5 |            |          |
|   2 |   INDEX FAST FULL SCAN| T1_ID | 53191 |   259K|    34   (0)| 00:00:01 |
-------------------------------------------------------------------------------


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
        125  consistent gets
          0  physical reads
          0  redo size
        486  bytes sent via SQL*Net to client
        380  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

इससे पता चलता है कि उन्हें अलग से प्राप्त करना बेहतर हो सकता है, हालांकि मैंने इसे निर्णायक रूप से साबित नहीं किया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SIN () Oracle में फंक्शन

  2. जेपीए निराशावादी ताला काम नहीं कर रहा

  3. ऑरैकल में किसी तालिका से रिकॉर्ड भी कैसे चुनें?

  4. Oracle में CLOB और BLOB के बीच अंतर को समझने में मेरी सहायता करें

  5. Oracle SQL क्वेरी:समय के आधार पर प्रति समूह नवीनतम मान प्राप्त करें