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

diff 2 tabel database besar

Lihat Percona Toolkit open-source --- khususnya, pt-table-sync kegunaan.

Tujuan utamanya adalah untuk menyinkronkan tabel MySQL dengan replikanya, tetapi karena outputnya adalah kumpulan perintah MySQL yang diperlukan untuk mendamaikan perbedaan antara dua tabel, itu wajar untuk membandingkan keduanya.

Apa yang sebenarnya dilakukan di bawah tenda agak rumit, dan sebenarnya menggunakan pendekatan yang berbeda tergantung pada apa yang dapat diceritakan tentang tabel Anda (indeks, dll.), tetapi salah satu ide dasarnya adalah ia melakukan checksum CRC32 cepat pada potongan indeks , dan jika checksum tidak cocok, checksum akan memeriksa catatan tersebut lebih dekat. Perhatikan bahwa metode ini banyak lebih cepat daripada menjalankan kedua indeks secara linier dan membandingkannya.

Itu hanya membuat Anda menjadi bagian dari jalan. Karena perintah yang dihasilkan dimaksudkan untuk menyinkronkan replika dengan masternya, perintah tersebut cukup mengganti konten replika saat ini untuk semua rekaman yang berbeda. Dengan kata lain, perintah yang dihasilkan memodifikasi all bidang dalam catatan (bukan hanya yang telah berubah). Jadi setelah Anda menggunakan pt-table-sync untuk menemukan perbedaannya, Anda perlu membungkus hasilnya dalam sesuatu untuk memeriksa catatan yang berbeda dengan membandingkan setiap bidang dalam catatan.

Tapi pt-table-sync melakukan apa yang sudah Anda ketahui sebagai bagian yang sulit:mendeteksi perbedaan, benar-benar cepat. Itu ditulis dalam Perl; sumber harus menyediakan remah roti yang baik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ekspor CSV dari Mysql

  2. Sintaks SQL DELETE – Didaftarkan oleh DBMS

  3. sql bergabung sebagai diagram venn

  4. Di MySQL, hak istimewa apa yang diperlukan untuk menjalankan pemicu?

  5. Kesalahan Laporan Kristal. Gagal membuka koneksi