Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Banyak tabel atau banyak database?

Seharusnya tidak ada perbedaan kinerja yang signifikan antara beberapa tabel dalam database tunggal versus beberapa tabel dalam database terpisah.

Di MySQL, database (SQL standar menggunakan istilah "skema" untuk ini) berfungsi terutama sebagai namespace untuk tabel. Database hanya memiliki beberapa atribut, mis. set karakter dan susunan karakter default. Dan penggunaan GRANT memudahkan untuk mengontrol hak akses per database, tetapi itu tidak ada hubungannya dengan kinerja.

Anda dapat mengakses tabel di database apa pun dari satu koneksi (asalkan dikelola oleh instance MySQL Server yang sama). Anda hanya perlu memenuhi syarat nama tabel:

SELECT * FROM database17.accounts_table;

Ini murni perbedaan sintaksis. Seharusnya tidak berpengaruh pada kinerja.

Mengenai penyimpanan, Anda tidak dapat mengatur tabel ke dalam file-per-database sebagai @Chris berspekulasi. Dengan mesin penyimpanan MyISAM, Anda selalu memiliki file per tabel. Dengan mesin penyimpanan InnoDB, Anda memiliki satu set file penyimpanan yang menggabungkan semua tabel, atau Anda memiliki file per tabel (ini dikonfigurasi untuk seluruh server MySQL, bukan per database). Dalam kedua kasus tersebut, tidak ada keuntungan atau kerugian kinerja untuk membuat tabel dalam satu database versus banyak database.

Tidak banyak parameter konfigurasi MySQL yang berfungsi per database. Sebagian besar parameter yang memengaruhi kinerja server mencakup seluruh server.

Mengenai pencadangan, Anda dapat menentukan subset tabel sebagai argumen ke mysqldump memerintah. Mungkin akan lebih mudah untuk mencadangkan kumpulan tabel logis per database, tanpa harus memberi nama semua tabel pada baris perintah. Tapi seharusnya tidak ada bedanya dengan kinerja, hanya kenyamanan bagi Anda saat Anda memasukkan perintah pencadangan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menggunakan variabel lingkungan untuk konfigurasi sekuel lokal

  2. permintaan mysqli hanya mengembalikan baris pertama

  3. Berapa banyak baris yang 'terlalu banyak' untuk tabel MySQL?

  4. Pilih satu nilai dari grup berdasarkan pesanan dari kolom lain

  5. masalah mysql_insert_id dalam penyisipan data konkurensi