Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menukar Pukal Semua Jadual MyISAM kepada InnoDB dalam MySQL?

Bagaimanakah Saya Boleh Menukar Pukal Semua Jadual MyISAM kepada InnoDB dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2025-01-04 03:16:391031semak imbas

How Can I Bulk Convert All MyISAM Tables to InnoDB in MySQL?

Penukaran Pukal Jadual MyISAM kepada InnoDB: Panduan Komprehensif

Pengenalan

Mengubah suai jadual daripada MyISAM kepada InnoDB satu demi satu boleh membosankan. Artikel berikut menyediakan penyelesaian yang komprehensif untuk menukar semua jadual MyISAM dalam pangkalan data kepada InnoDB menggunakan SQL dengan cepat.

Penyelesaian Terperinci

Untuk mencapai penukaran pukal ini, laksanakan pernyataan SQL berikut:

SET @DATABASE_NAME = 'name_of_your_db';

SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Pastikan untuk menggantikan name_of_your_db dengan nama anda pangkalan data.

Pelaksanaan

Selepas menjalankan pernyataan SQL di atas, output akan menyediakan senarai pernyataan SQL yang menukar setiap jadual MyISAM kepada InnoDB. Salin penyataan ini ke dalam tetingkap pertanyaan SQL baharu dan laksanakannya. Ini akan melaksanakan penukaran untuk semua jadual MyISAM dalam pangkalan data anda.

Faedah InnoDB berbanding MyISAM

InnoDB menawarkan beberapa kelebihan berbanding MyISAM, termasuk:

  • Data yang dipertingkatkan integriti melalui urus niaga dan kekangan utama asing
  • Peningkatan prestasi tulis disebabkan oleh penguncian peringkat baris
  • Skala yang lebih baik dan konkurensi untuk aplikasi beban tinggi
  • Carian teks penuh dan sokongan kunci asing

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Pukal Semua Jadual MyISAM kepada InnoDB dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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