MySQL adalah sistem manajemen basis data relasional sumber terbuka yang tumbuh paling cepat dengan 100 juta unduhan hingga saat ini. Ini adalah pilihan database yang populer untuk digunakan dalam aplikasi web dan saat ini digunakan oleh banyak situs web besar, termasuk Facebook, Twitter, Wikipedia, Flickr, YouTube, dll. Sekarang, mari cari tahu 10 fakta dan tip menarik tentang MySQL.
Fakta dan tips menarik tentang MySQL
1. MySQL mendukung hingga 64 indeks per tabel. Setiap indeks dapat terdiri dari 1 sampai 16 kolom. Ukuran indeks maksimum adalah 1000 byte (767 untuk InnoDB).
2. Ukuran maksimum baris dalam tabel MySQL adalah 65.535 byte. Dan nilai maksimum Signed Integer adalah 2.147.483.647 dan nilai Unsigned Integer adalah 4.294.967.295. Dalam tabel campuran dengan CHAR dan VARCHAR, MySQL akan mengubah CHAR menjadi VARCHAR.
3. Jika PRIMARY KEY atau indeks UNIK hanya terdiri dari satu kolom yang memiliki tipe integer, Anda juga dapat merujuk ke kolom sebagai “_rowid” dalam pernyataan SELECT.
4. Untuk mengubah nilai AUTO_INCREMENT, gunakan “ALTER TABLE
5. Untuk membatasi MySQL agar tidak diakses secara publik, gunakan opsi “skip-networking” di file konfigurasi. Ketika diaktifkan, MySQL hanya mendengarkan koneksi soket lokal dan mengabaikan semua port TCP. Dan parameter “bind-address” yang disetel ke “127.0.0.1” membatasi MySQL hanya dapat diakses oleh localhost.
6. Jika MySQL memiliki banyak koneksi yang dibuat (yaitu situs web tanpa koneksi persisten), Anda dapat meningkatkan kinerja dengan menyetel thread_cache_size ke nilai bukan nol. 16 adalah nilai yang baik untuk memulai. Tingkatkan nilainya hingga threads_created Anda tidak berkembang pesat.
7. NO_AUTO_VALUE_ON_ZERO menekan kenaikan otomatis untuk 0. Hanya NULL yang menghasilkan nomor urut berikutnya. Mode ini dapat berguna jika 0 telah disimpan di kolom AUTO_INCREMENT tabel. (Menyimpan 0 bukanlah praktik yang disarankan.)
8. Opsi konfigurasi “innodb_analyze_is_persistent”, “innodb_stats_persistent_sample_pages” dan “innodb_stats_transient_sample_pages” memberikan peningkatan akurasi statistik indeks InnoDB, dan konsistensi di seluruh restart MySQL. InnoDB menghitung statistik yang membantu pengoptimal memutuskan indeks mana yang akan digunakan dalam kueri, dengan mengambil sampel sebagian dari indeks. Anda dapat menyesuaikan jumlah pengambilan sampel yang dilakukan InnoDB untuk setiap indeks. Statistik yang dihasilkan sekarang dapat bertahan di seluruh restart server, daripada dihitung ulang (dan mungkin berubah) karena restart dan beberapa peristiwa runtime. Statistik yang lebih akurat dapat meningkatkan kinerja kueri, dan aspek persistensi dapat menjaga kinerja kueri tetap stabil. Saat fitur statistik persisten diaktifkan, statistik hanya dihitung ulang saat Anda menjalankan ANALYZE TABLE untuk tabel secara eksplisit.
9. InnoDB membebaskan memori yang terkait dengan tabel yang dibuka untuk memudahkan beban memori pada sistem dengan sejumlah besar tabel. Algoritme LRU memilih tabel yang paling lama tidak diakses. Untuk memesan lebih banyak memori untuk tabel terbuka, tingkatkan nilai opsi konfigurasi –table_definition_cache=#.
10. Atur parameter table_cache agar sesuai dengan jumlah tabel terbuka dan koneksi bersamaan. Perhatikan nilai open_tables dan jika tumbuh dengan cepat Anda perlu menambah ukuran "table_cache". Dan untuk parameter “open_file_limit” tetapkan batas ini sebagai 20+max_connections+table_cache*2. Jika Anda memiliki kueri yang kompleks, “sort_buffer_size” dan “tmp_table_size” mungkin sangat penting. Nilai akan bergantung pada kompleksitas kueri dan sumber daya yang tersedia, tetapi masing-masing 4Mb dan 32Mb direkomendasikan sebagai titik awal.
Catatan:Ini adalah nilai "per koneksi". Jadi, pertimbangkan beban Anda dan sumber daya yang tersedia saat mengatur parameter ini. Misalnya sort_buffer_size dialokasikan hanya jika MySQL perlu melakukan sortir, hati-hati jangan sampai kehabisan memori.