Bagaimanakah Anda Boleh Mengindeks Jadual Pengeluaran MySQL yang Besar Tanpa Mengganggu Operasi?

Barbara Streisand
Lepaskan: 2024-10-31 11:52:02
asal
590 orang telah melayarinya

How Can You Index a Huge MySQL Production Table Without Disrupting Operations?

Buat Indeks pada Jadual Pengeluaran MySQL yang Besar

Pernyataan Masalah:

Mencipta indeks pada pengeluaran MySQL yang besar jadual berpotensi menyebabkan sekatan pangkalan data. Ini memberikan cabaran dalam memastikan akses tanpa gangguan kepada pangkalan data semasa proses pengindeksan.

Penyelesaian:

MySQL 5.6 dan Lebih Tinggi: Kemas Kini Indeks Dalam Talian

Sejak MySQL 5.6, pangkalan data menyokong kemas kini indeks tambahan semasa operasi. Ini bermakna penciptaan atau pemadaman indeks boleh berlaku serentak dengan membaca dan menulis, mengurangkan risiko sekatan dan memastikan integriti data.

MySQL 5.5 dan Terdahulu

Dalam MySQL 5.5 dan versi terdahulu, operasi KEMASKINI pada jadual dengan kemas kini indeks aktif akan menghadapi blok. Ini boleh memberi kesan ketara kepada prestasi dan menyebabkan gangguan.

Untuk mengelakkan sekatan ini, pertimbangkan pendekatan berikut:

1. Pelayan Induk Pekeliling:

  • Tubuhkan dua pelayan, dengan satu berfungsi sebagai induk utama dan satu lagi sebagai hamba.
  • Lakukan kemas kini indeks pada pelayan hamba semasa ia replikasi tulisan daripada tuan.
  • Benarkan hamba mengejar tuan, memastikan keserasian antara skema yang dikemas kini dan lama.
  • Tukar pelanggan secara atom daripada tuan kepada hamba, menjadikan hamba itu tuan baharu dengan skema yang dikemas kini.
  • Ulang proses dengan pelayan induk, menjadikannya hamba baharu.

2. Percona's pt-online-schema-change:

  • Buat jadual baharu dengan struktur yang sama dengan yang asal.
  • Kemas kini skema pada jadual baharu.
  • Tetapkan pencetus pada jadual asal untuk memastikan perubahan segerak dengan salinan.
  • Pindahkan data dalam kelompok daripada jadual asal ke jadual baharu.
  • Ganti jadual asal dengan meja baharu.
  • Lepaskan meja lama.

3. Promosi Replika Baca RDS:

Jika menggunakan RDS Amazon, anda boleh membuat replika baca sahaja dan melakukan kemas kini indeks padanya. Setelah selesai, promosikan replika untuk menjadi tuan baharu. Pendekatan ini memudahkan proses dengan mengautomasikan failover dan migrasi data.

Nota: Pendekatan ini memerlukan memulakan semula aplikasi untuk menyambung semula ke contoh pangkalan data yang dikemas kini.

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengindeks Jadual Pengeluaran MySQL yang Besar Tanpa Mengganggu Operasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!