Jalankan OPTIMIZE TABLE ke tabel defragment untuk kinerja yang lebih baik

12

Saya menjalankan Linux 64-Bit OS. Tuner mysql saya mengatakan hal-hal di bawah ini:

-------- Statistik Umum ---------------------------------------- ----------
[-] Periksa versi lompatan untuk skrip MySQLTuner
[OK] Saat ini sedang berjalan didukung versi MySQL 5.1.61-log
[OK] Beroperasi pada arsitektur 64-bit

-------- Statistik Mesin Penyimpanan --------------------------------------- ----
[-] Status: -Archive -BDB -Federated + InnoDB -ISAM -NDBCluster
[-] Data dalam tabel MyISAM: 1G (Tabel: 1914)
[-] Data dalam tabel InnoDB: 4M (Tabel: 199)
[!!] Total tabel terfragmentasi: 296

-------- Rekomendasi Keamanan ---------------------------------------- ---
[OK] Semua pengguna basis data memiliki kata sandi yang ditetapkan

-------- Metrik Kinerja ---------------------------------------- ---------
[-] Naik untuk: 6s (7K q [q 1K]], 142 conn, TX: 8M, RX: 701K)
[-] Baca / Tulis: 97% / 3%
[-] Total buffer: 1.7G global + 13.2M per utas (384 maks utas)
[OK] Penggunaan memori maksimum: 6.6G (42% dari RAM terpasang)
[OK] Permintaan lambat: 0% (0 / 7K)
[OK] Penggunaan tertinggi koneksi yang tersedia: 5% (20/384)
[OK] Ukuran buffer kunci / total indeks MyISAM: 1.5G / 2.7G
[OK] Tingkat hit buffer kunci: 97,4% (553K di-cache / 14K dibaca)
[OK] Efisiensi cache kueri: 64,6% (cache 4K / 6K dipilih)
[OK] Kueri cache permintaan per hari: 0
[OK] Mengurutkan yang membutuhkan tabel sementara: 0% (2 macam temp / 337 macam)
[OK] Tabel sementara dibuat pada disk: 8% (17 pada disk / total 198)
[OK] Tingkat hit cache cache: 85% (20 dibuat / 142 koneksi)
[OK] Tingkat hit cache cache: 98% (438 terbuka / 445 dibuka)
[OK] Batas file terbuka yang digunakan: 10% (856 / 8K)
[OK] Kunci meja diperoleh segera: 99% (langsung 2K / kunci 2K)
[Oke] Ukuran data / kumpulan buffer InnoDB: 4.2M / 8.0M


-------- Rekomendasi ----------------------------------------- ------------
Rekomendasi umum:
    Jalankan OPTIMIZE TABLE ke tabel defragment untuk kinerja yang lebih baik
    MySQL dimulai dalam 24 jam terakhir - rekomendasi mungkin tidak akurat

Rekomendasi mereka adalah lari OPTIMIZE TABLEke tabel defragment untuk kinerja yang lebih baik; Tapi saya tidak tahu cara menjalankannya melalui Putty.

Apakah ada orang yang bisa memberi saya kode bagaimana saya menjalankannya melalui Putty?

Barkat Ullah
sumber

Jawaban:

7

OPTIMIZE TABLE adalah pernyataan SQL - jalankan di klien MySQL.

Pada baris perintah server, Anda harus menginstal klien baris perintah; Anda dapat terhubung ke database Anda di klien dengan mysql -u username -p.

Lihat dokumentasi padaOPTIMIZE TABLE untuk informasi lebih lanjut.

Shane Madden
sumber
Situs ini adalah tentang pertanyaan yang diajukan oleh administrator sistem profesional.
gparent
@ orang tua - apakah itu artinya pertanyaan itu, bukan jawaban Shane yang benar-benar valid?
Mark Henderson
2
@ Benar Benar - tapi saya tidak berpikir adil untuk menilai profesionalisme seseorang berdasarkan pada mengetahui pernyataan SQL ketika mereka melihatnya. Penelitian akan dengan cepat menemukan jawabannya, tapi .. Saya tidak suka gagasan bahwa komunitas ini memalingkan pertanyaan karena terlalu "jelas".
Shane Madden
Anda benar, komentar saya tidak ada di sini sama sekali, saya pikir penulis memposting komentar pada pertanyaan Shane dan kemudian menghapusnya, entah itu atau saya benar-benar bermaksud mempostingnya di pertanyaan Barkat tetapi saya biasanya akan menambahkan lebih banyak info jika itu masalahnya.
gparent
1
Saya tidak setuju dengan Anda, ada tempat di mana Anda harus menarik garis. Saya pikir itu adil untuk mengatakan bahwa seorang profesional (faq: dalam kapasitas profesional) saat ini bekerja dengan database MySQL dan mencoba mengoptimalkannya harus cukup mahir untuk istilah google dan mencari tahu itu adalah permintaan MySQL dari hasil pencarian pertama. Mungkin saya terlalu banyak berharap pada karyawan mana pun ..
gparent
18

Anda juga dapat mencoba mysqlcheck -u username -p --auto-repair --optimize --all-databasesdi terminal.

Sejauh menjalankan "mengoptimalkan tabel" Anda dapat memulai MySQL seperti ini mysql -u username -pdan dari sana Anda dapat menjalankan perintah. Biasanya pertama perintah saya gunakan adalah show databases;tetapi Anda harus benar-benar menemukan tutorial MySQL pertama. Yang pertama muncul di Google: http://downloads.mysql.com/docs/mysql-tutorial-excerpt-5.1-en.pdf

Apakah Anda menggunakan dempul atau tidak tidak relevan. Anda mungkin ingin mengatakan "dari baris perintah" alih-alih "via Putty."

PJ Brunet
sumber
2
Ini adalah solusi yang jauh lebih baik daripada yang diterima. Tidak perlu menghitung semua database dan tabel sebelum menjalankan perintah, ditambah perbaikan otomatis.
Sammitch
1
Bantulah diri Anda sendiri dan lakukan backup database sebelum menjalankan semua ini. mysqldump -u username -p dbname > dbname.sqldan gzip dbname.sqlharus melakukannya dengan baik.
Fiasco Labs
Fiasco, setidaknya dalam centos, perintahnya harusmysqldump -u username -p db_name > dbname.sql
yitwail