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

Apa cara paling ringkas untuk menyimpan perbedaan dalam database?

Jauh lebih mudah untuk menyimpan setiap record secara keseluruhan daripada menyimpan perbedaannya. Kemudian jika Anda menginginkan perbedaan dua revisi, Anda dapat membuatnya sesuai kebutuhan menggunakan the PECL Text_Diff perpustakaan .

Saya suka menyimpan semua versi catatan dalam satu tabel dan mengambil yang terbaru dengan MAX(revision) , atribut boolean "saat ini", atau yang serupa. Yang lain lebih suka melakukan denormalisasi dan memiliki tabel cermin yang menyimpan revisi yang tidak terkini.

Jika Anda menyimpan diff, skema dan algoritme Anda menjadi jauh lebih kompleks. Anda kemudian perlu menyimpan setidaknya satu revisi "penuh" dan beberapa versi "diff", dan merekonstruksi versi lengkap dari serangkaian perbedaan kapan pun Anda membutuhkan versi lengkap. (Beginilah cara SVN menyimpan sesuatu. Git menyimpan salinan lengkap dari setiap revisi, bukan diff.)

Waktu pemrogram mahal, tetapi ruang disk biasanya murah. Harap pertimbangkan apakah menyimpan setiap revisi secara penuh benar-benar menjadi masalah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perlu untuk menghubungkan IDX MLS ke dalam situs web

  2. Menggunakan pilih ke dalam variabel lokal dan pernyataan yang disiapkan di mysql

  3. PHP/MYSQL Javascript - Masukkan nilai baris yang ditarik dari database ke bidang teks dengan tombol

  4. Tabel GeoIP bergabung dengan tabel IP di MySQL

  5. Kutipan tunggal, Kutipan ganda, dan Backtick di MySQL