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

Rutin yang Ditentukan Pengguna dengan DBMS_STATS, Bagian II

Saya memiliki posting sebelumnya tentang rutinitas yang ditentukan pengguna dengan DBMS_STATS. Setelah menggali lagi, saya menentukan cara kerjanya. Saya memiliki beberapa data dalam database saya yang disimpan dalam Tipe Buatan Pengguna. Jika Anda memiliki tipe yang ditentukan pengguna, Anda dapat mengaitkan rutinitas pengumpulan statistik yang ditentukan pengguna dengan Oracle Data Cartridge Interface (ODCI). Rutinitas ODCIStatsCollect dipanggil secara otomatis ketika DBMS_STATS dipanggil pada tabel yang berisi tipe yang ditentukan pengguna tersebut.

Dalam kasus saya, saya melacak penggunaan CPU yang tinggi ke satu pernyataan SQL yang dimasukkan oleh vendor aplikasi pihak ke-3 ke dalam rutinitas ODCIStatsCollect mereka. Pada titik ini, itu hanya menjadi masalah penyetelan kueri. Bagaimana kita bisa menulis kueri sehingga menggunakan lebih sedikit CPU? Setelah melihat masalahnya, saya pikir cara termudah adalah mengeluarkan subquery dan meletakkan hasilnya di Tabel Sementara Global. Kemudian minta sisa kueri bergabung ke GTT alih-alih bergabung ke subkueri itu sendiri. Dengan demikian, penggunaan CPU berkurang secara dramatis. Saya mengirimkan perbaikan ke vendor aplikasi dan saya menunggu untuk melihat apa yang mereka katakan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan Keluaran Fiddle SQL

  2. Cara Memilih dan Memesan Berdasarkan kolom tidak dalam pernyataan Groupy By SQL - Oracle

  3. Hasilkan data uji menggunakan pengembang Oracle PL/SQL

  4. Cara Membuat Paket PL/SQL Di Database Oracle

  5. Bagaimana saya bisa mendeskripsikan tabel di Oracle tanpa menggunakan perintah DESCRIBE?