Ya, LOW_VALUE dan HIGH_VALUE akan memberi tahu Anda nilai minimum dan maksimum di kolom tetapi :
- disimpan sebagai kolom RAW(32), jadi artinya tidak langsung terlihat
- itu akan menjadi statistik terakhir kali dikumpulkan untuk tabel, jadi mungkin tidak akurat (kecuali jika Anda secara eksplisit mengumpulkan statistik sebelum menggunakannya)
Jika Anda mengindeks kolom maka MIN(a) dan MAX(a) harus sangat cepat seperti dalam contoh ini di mana T1 memiliki 50000 baris dan diindeks pada 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
Hasilnya sama jika Anda memilih MAX bukan MIN. Namun, jika Anda memilih MIN dan MAX dalam satu pernyataan pilih, hasilnya berbeda:
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
Ini menunjukkan bahwa mungkin lebih baik untuk mendapatkannya secara terpisah, meskipun saya belum membuktikannya secara meyakinkan.