Memadam berjuta-juta baris dalam PostgreSQL memerlukan pendekatan strategik untuk meminimumkan masa henti. Beberapa teknik boleh meningkatkan prestasi dengan ketara.
Mula-mula, pertimbangkan untuk melumpuhkan atau mengalih keluar pencetus dan kekangan kunci asing buat sementara waktu pada jadual sasaran. Ini mengurangkan overhed semasa proses pemadaman. A VACUUM ANALYZE
sebelum pemadaman mengemas kini statistik pangkalan data, yang berpotensi meningkatkan prestasi pertanyaan selepas itu.
Untuk jadual yang sesuai dengan RAM yang tersedia, mencipta jadual sementara yang mengandungi baris untuk disimpan adalah sangat cekap. Potong jadual asal dan kemudian isi semula daripada jadual sementara. Kaedah ini mengelakkan kemas kini indeks tambahan, yang membawa kepada pemprosesan yang lebih pantas dan mengekalkan integriti data.
Walaupun penyataan DELETE
yang ringkas mencukupi untuk jadual yang lebih kecil, sentiasa berhati-hati menilai implikasi pada perhubungan utama asing dan ON DELETE
pencetus.
Pengoptimuman selepas pemadaman adalah penting. Pertimbangkan untuk menggunakan CLUSTER
, pg_repack
atau VACUUM FULL ANALYZE
untuk menyahpecah jadual dan meningkatkan prestasi. Strategi optimum bergantung pada konfigurasi pangkalan data khusus anda dan ciri jadual. Dengan memilih dan melaksanakan teknik ini dengan teliti, anda boleh memadamkan sejumlah besar baris dengan ID dalam PostgreSQL dengan cekap.
Atas ialah kandungan terperinci Bagaimanakah saya dapat memadam berjuta -juta baris dengan id di PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!