हां, 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
इससे पता चलता है कि उन्हें अलग से प्राप्त करना बेहतर हो सकता है, हालांकि मैंने इसे निर्णायक रूप से साबित नहीं किया है।