Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Memperkirakan waktu pembuatan indeks di Oracle

Oracle dapat memperkirakan waktu pembuatan indeks dan ukuran indeks dengan EXPLAIN PLAN perintah:

Contoh Skema

--Create a table with 1 million rows.
drop table table1;
create table table1(a number);
insert into table1 select level from dual connect by level <= 1000000;
--Gather statistics.
begin
    dbms_stats.gather_table_stats(user, 'table1');
end;
/
--Estimate index creation and size.
explain plan for create index table1_idx on table1(a);
select * from table(dbms_xplan.display);

Hasil

Plan hash value: 290895522

-------------------------------------------------------------------------------------
| Id  | Operation              | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | CREATE INDEX STATEMENT |            |  1000K|  4882K|   683   (2)| 00:00:10 |
|   1 |  INDEX BUILD NON UNIQUE| TABLE1_IDX |       |       |            |          |
|   2 |   SORT CREATE INDEX    |            |  1000K|  4882K|            |          |
|   3 |    TABLE ACCESS FULL   | TABLE1     |  1000K|  4882K|   254   (5)| 00:00:04 |
-------------------------------------------------------------------------------------

Note
-----
   - automatic DOP: skipped because of IO calibrate statistics are missing
   - estimated index size: 24M bytes

Catatan

Waktu pembuatan sebenarnya di sistem saya adalah 2,5 detik, dibandingkan dengan perkiraan 10 detik. Tapi itu masih cukup bagus jika Anda hanya mencari perkiraan urutan besarnya. Akurasi tergantung pada statistik tabel yang akurat serta statistik sistem . (Tapi hati-hati sebelum Anda mengumpulkan statistik sistem, ini dapat mempengaruhi banyak rencana eksekusi!) Anda dapat mengutak-atik pengaturan lebih lanjut dengan memodifikasi sys.aux_stats$ secara manual . Itu salah satu dari beberapa tabel SYS yang boleh dimodifikasi, meskipun Anda tetap harus berhati-hati.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemrosesan data lebih lanjut seperti yang dikembalikan dalam dbms_output yang diberikan

  2. Menginstal Formulir dan Laporan Oracle 11g Rilis 2

  3. Mendapatkan kesalahan saat menjalankan prosedur dari pengembang sql

  4. Pernyataan Siap, Pernyataan Dapat Dipanggil, dan Pertimbangan Kinerja

  5. Delphi - mencegah injeksi SQL