Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 3517|Jawab: 1

[Kiat] [Transfer] ke MySQL Advanced: optimalkan perintah tabel

[Salin tautan]
Diposting pada 17/06/2023 11.40.34 | | |
Saat menggunakan mysql, Anda mungkin menemukan bahwa meskipun tabel menghapus banyak data, file data dan file indeks tabel anehnya kecil. Hal ini karena mysql akan meninggalkan banyak lubang data saat menghapus data (terutama Text dan BLOB), yang akan menempati ruang data asli, sehingga ukuran file tidak berubah. Lubang-lubang ini dapat digunakan kembali di masa mendatang ketika data dimasukkan, dan tentu saja mereka mungkin tetap ada di sana. Lubang ini tidak hanya meningkatkan biaya penyimpanan, tetapi juga mengurangi efisiensi pemindaian tabel karena fragmentasi data.

Skenario Penggunaan:Jika Anda telah menghapus sebagian besar tabel, atau jika Anda telah membuat banyak perubahan pada tabel dengan baris panjang variabel (satu dengan kolom VARCHAR, BLOB, atau TEXT), Anda harus menggunakan OPTIMIZE TABLE. Catatan yang dihapus disimpan dalam daftar tertaut, dan operasi INSERT berikutnya menggunakan kembali lokasi rekaman lama. Anda dapat menggunakan OPTIMIZE TABLE untuk menggunakan kembali ruang yang tidak digunakan dan mengatur fragmen file data. [Ketika sejumlah besar data dihapus dari perpustakaan Anda, Anda mungkin menemukan bahwa ukuran file data tidak berkurang. Hal ini disebabkan oleh fragmentasi yang tersisa dalam file data setelah operasi penghapusan.


Di sebagian besar pengaturan, Anda tidak perlu menjalankan OPTIMIZE TABLE sama sekali. Bahkan jika Anda membuat banyak pembaruan pada baris panjang variabel, Anda tidak perlu sering menjalankannya, seminggu sekali atau sebulan sekali, hanya untuk tabel tertentu.

OPTIMIZE TABLE hanya berfungsi untuk tabel MyISAM, BDB, dan InnoDB.

Untuk tabel BDB, OPTIMIZE TABLE saat ini dipetakan ke ANALYZE TABLE. Untuk tabel InnoDB, OPTIMIZE TABLE dipetakan ke ALTER TABLE, yang membangun kembali tabel. Membangun kembali operasi, memperbarui statistik indeks, dan mengosongkan ruang yang tidak terpakai dalam indeks berkluster.

Catatan: MySQL mengunci tabel selama eksekusi OPTIMIZE TABLE.

Untuk myisam, Anda dapat langsung menggunakan tabel optimalkan table.name,Ketika itu adalah mesin InnoDB, itu akan melaporkan "Tabel tidak mendukung pengoptimalan, melakukan pembuatan ulang + analisis sebagai gantinya", dan dalam keadaan normal, jika Anda mengonversi dari myisam ke innodb, Anda akan menggunakan alter table table.name engine='innodb' untuk mengonversi, dan Anda juga dapat menggunakannya untuk pengoptimalan.Oleh karena itu, ketika itu adalah mesin InnoDB, kita dapat menggunakan alter table table.name engine='innodb' alih-alih mengoptimalkan untuk pengoptimalan

Untuk melihat efek sebelum dan sesudah, Anda dapat menggunakan perintah tampilkan status tabel, seperti tampilkan status tabel dari [database] seperti '[table_name]'; data_free dalam hasil pengembalian adalah ruang penyimpanan yang ditempati oleh kekosongan.

Skrip shell yang mengimplementasikan perbaikan tabel pemeriksaan batch berwaktu MySQL dan mengoptimalkan tabel pengoptimalan tabel adalah sebagai berikut:

Asli:

Login hyperlink terlihat.
Login hyperlink terlihat.




Mantan:Gunakan alat infiltrasi SQLMAP Pengujian injeksi SQL
Depan:Tutorial instalasi konsul di lingkungan pengujian Windows
 Tuan tanah| Diposting pada 06/07/2023 18.54.17 |
--Checklist


-- Perbaiki tabel


-- Optimalkan tabel


Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com