Bagaimana untuk Mencipta Indeks pada Jadual Pengeluaran MySQL yang Besar Tanpa Mengunci Jadual?

Linda Hamilton
Lepaskan: 2024-10-31 00:25:02
asal
675 orang telah melayarinya

How to Create an Index on a Huge MySQL Production Table Without Locking the Table?

Buat Indeks pada Jadual Pengeluaran MySQL yang Besar Tanpa Mengunci Jadual

Masalah:

Anda perlu mencipta indeks pada jadual MySQL yang besar dalam persekitaran pengeluaran tanpa mengganggu operasi yang sedang berjalan.

Kebijaksanaan Konvensional (2015):

Dalam versi MySQL sebelum 5.6, mencipta indeks pada Operasi tulis blok jadual MyISAM atau InnoDB.

Kemas Kini Indeks Dalam Talian dalam MySQL 5.6 (2017):

MySQL 5.6 dan kemudiannya menyokong kemas kini indeks dalam talian, membolehkan anda menambah atau lepaskan indeks tanpa menyekat bacaan atau tulis.

Mengemas kini Skema Tanpa Masa Henti:

Jika anda tidak boleh menggunakan MySQL 5.6 atau lebih baru, anda boleh menggunakan kaedah berikut untuk mengemas kini skema anda tanpa masa henti:

  1. Pekeliling Sarjana: Buka pelayan induk baharu dan ulangi penulisan daripada induk sedia ada.
  2. Lakukan Kemas Kini Skema pada Sarjana Baharu : Buat perubahan skema pada induk baharu.
  3. Tukar Pelanggan: Pindahkan semua pelanggan secara atom daripada induk lama kepada induk baharu.
  4. Kemas kini Guru Lama: Ulang proses yang sama dengan tuan lama untuk mengemas kininya sebagai tuan menengah.

Alat pt-online-schema-change Percona:

Alat ini menyediakan kaedah alternatif untuk mengubah skema jadual tanpa menyekat operasi. Ia mencipta jadual baharu dengan struktur yang diingini, membuat perubahan skema dan menyalin data secara beransur-ansur daripada jadual asal sebelum menggantikannya.

Amazon RDS:

Amazon RDS memudahkan proses dengan membenarkan anda membuat replika baca, membuat perubahan skema pada replika, dan kemudian mempromosikan replika untuk menjadi tuan baharu. Pendekatan ini meminimumkan masa henti dan memudahkan proses pemotongan.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Indeks pada Jadual Pengeluaran MySQL yang Besar Tanpa Mengunci Jadual?. 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!