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

Ukuran baris terlalu besar (> 8126) bisakah saya mengubah InnoDB ke MyISAM

Ya, Anda dapat beralih ke MyISAM. Tapi itu belum tentu ide yang bagus:

  • MyISAM tidak mendukung transaksi
  • Tabel MyISAM sering membutuhkan REPAIR setelah mogok

Tabel InnoDB dapat menangani lebih dari 8KB per baris. Rupanya Anda mengalami masalah dengan memiliki selusin atau lebih kolom TEXT/BLOB? Paling banyak 767 byte kolom disimpan di bagian utama baris; sisanya ditempatkan di blok terpisah.

Saya pikir satu ROW_FORMAT akan menempatkan semua kolom besar di blok terpisah, hanya menyisakan 20 byte untuk mengarahkannya.

Pendekatan lain untuk baris lebar adalah dengan melakukan "partisi vertikal". Yaitu, buat tabel (atau tabel) lain dengan PRIMARY KEY yang cocok dan beberapa kolom besar. Sangat berguna untuk memindahkan kolom yang jarang penduduknya ke tabel seperti itu, kemudian memiliki lebih sedikit baris dalam tabel itu, dan menggunakan LEFT JOIN untuk mengambil datanya. Juga, jika Anda memiliki beberapa kolom yang jarang Anda perlukan untuk SELECT , maka itu adalah kandidat yang baik untuk dipindahkan -- tidak ada JOIN dibutuhkan saat Anda tidak membutuhkan kolom tersebut.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Generator kunci utama kustom MySQL

  2. Tingkatkan Query MySQL dengan IN Subquery

  3. Bagaimana saya bisa memetakan soket unix lokal ke soket inet?

  4. penjumlahan record aktif di codeigniter

  5. Bagaimana cara mengetahui berapa banyak kueri mysql yang telah dilakukan skrip php?