PERBARUI: Coba buat kolom col NOT NULL. Itulah alasannya tidak menggunakan index. Jika bukan null, inilah rencananya.
SELECT STATEMENT, GOAL = ALL_ROWS 69 10 30
HASH GROUP BY 69 10 30
INDEX FAST FULL SCAN SANDBOX TEST_INDEX 56 98072 294216
Jika pengoptimal menentukan bahwa lebih efisien untuk TIDAK menggunakan indeks (mungkin karena menulis ulang kueri), maka itu tidak akan terjadi. Petunjuk pengoptimal hanya itu, yaitu, petunjuk untuk memberi tahu Oracle indeks yang Anda suka itu untuk digunakan. Anda dapat menganggapnya sebagai saran. Tetapi jika pengoptimal menentukan bahwa lebih baik tidak menggunakan indeks (sekali lagi, sebagai hasil dari penulisan ulang kueri misalnya), maka itu tidak akan terjadi.
Lihat tautan ini:http://download. oracle.com/docs/cd/B19306_01/server.102/b14211/hintsref.htm "Menentukan salah satu petunjuk ini menyebabkan pengoptimal memilih jalur akses yang ditentukan hanya jika jalur akses tersedia berdasarkan keberadaan indeks atau cluster dan pada konstruksi sintaksis dari pernyataan SQL. Jika petunjuk menentukan jalur akses yang tidak tersedia, maka pengoptimal mengabaikannya."
Karena Anda menjalankan operasi count(*), pengoptimal telah menentukan bahwa lebih efisien untuk hanya memindai seluruh tabel dan hash daripada menggunakan indeks Anda.
Berikut tautan berguna lainnya tentang petunjuk:http://www.dba-Oracle.com/t_hint_ignored. htm