![Why Isn't My Oracle SQL Query Using Parallelism?](https://img.php.cn/upload/article/000/000/000/173568085371819.jpg)
Memahami Had Paralelisme Oracle untuk Pertanyaan SQL Tunggal
Manakala Oracle 11g Release 2 memperkenalkan keupayaan penyejajaran lanjutan, mencapai keselarian optimum untuk pertanyaan dan analisis khusus memerlukan pertimbangan yang teliti. Walaupun menggunakan pelbagai pembayang selari seperti /* SELARI */, pertanyaan anda nampaknya kekal terhad kepada satu CPU sahaja.
Pendekatan Holistik untuk Paralelisme
Memahami keselarian Oracle adalah penting, kerana ia melibatkan interaksi kompleks parameter sistem, ciri pertanyaan dan keadaan masa jalan. Mulakan dengan bertanya soalan asas:
- Berapa banyak pelayan selari yang diminta?
- Berapa banyak pelayan selari telah diperuntukkan?
- Berapa banyak pelayan selari telah digunakan dengan berkesan?
Mengenal pasti Bottlenecks
Gunakan alat Pemantauan SQL yang komprehensif dengan laporan aktif untuk mendedahkan punca langkah perlahan dalam pelan pelaksanaan anda. Alat ini mendedahkan masa yang diluangkan untuk setiap langkah dan tahap keselarian yang dicapai.
Faktor-Faktor Yang Mempengaruhi Peruntukan Pelayan Selari
Banyak faktor menyumbang kepada peruntukan pelayan selari. Beberapa pertimbangan utama termasuk:
-
Persamaan antara operasi: Operasi pengisihan atau pengelompokan boleh membawa kepada menggandakan peruntukan pelayan selari.
-
Petua pertanyaan: Pembayang peringkat pernyataan eksplisit lebih disukai, tetapi pembayang peringkat objek juga boleh memberi kesan selari.
-
SQL rekursif: SQL rekursif, seperti mengendalikan jujukan yang tidak dicache, boleh mensiri operasi dengan berkesan.
-
Ubah tetapan sesi: Ubah arahan sesi boleh memaksa atau membolehkan pemprosesan selari.
-
Jadual dan darjah indeks: Jadual dan indeks yang lebih kecil mungkin tidak mendapat manfaat daripada keselarian.
-
Pertimbangan pengoptimum: Pengoptimum boleh memilih pemprosesan bersiri berbanding selari jika ia menganggapnya lebih cekap.
-
Pengurusan pelan: Ciri seperti SQL Plan Baselines boleh mengubah tahap keselarian di sebalik tabir.
-
Had edisi: Operasi selari hanya disokong dalam Edisi Perusahaan dan Peribadi.
Pertimbangan Lain
Faktor tambahan yang boleh mempengaruhi keselarian termasuk:
-
Had sistem pengendalian dan perkakasan: Teras CPU, memori dan keupayaan I/O memberi kesan kepada keselarian.
-
Sekatan DML selari: Senario tertentu, seperti pencetus atau kekangan rujukan sendiri, boleh menghalang DML selari operasi.
-
Pepijat dan had: Isu penghuraian sekali-sekala atau pepijat Oracle boleh mengakibatkan tingkah laku selari yang tidak dijangka.
Mengoptimumkan Keselarian Optimum
Mencapai keselarian optimum memerlukan percubaan dan pemahaman tentang ciri beban kerja tertentu. Pertimbangkan petua berikut:
-
Elakkan petua yang tidak perlu: Hanya gunakan petua apabila perlu, kerana ia kadangkala boleh mengganggu pembuatan keputusan pengoptimum.
-
Dayakan DML selari: Pastikan DML selari didayakan jika diperlukan oleh anda beban kerja.
-
Ubah suai parameter sistem: Laraskan parameter sistem seperti PARALLEL_DEGREE_LIMIT dan PARALLEL_MIN_SERVERS untuk memperhalusi keselarian.
-
Pertimbangkan pembahagian:Pertimbangkan pembahagian:
-
Analisis penggunaan paralelisme: Pantau laporan SQL_MONITOR untuk SQL_ID untuk mengenal pasti kesesakan dan kawasan untuk penambahbaikan.
Atas ialah kandungan terperinci Mengapa Pertanyaan Oracle SQL Saya Tidak Menggunakan Paralelisme?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!