Yah, itu tidak pasti, dari Panduan MySQL :
Opsi ini mengirimkan pernyataan START TRANSACTIONSQL ke server sebelum membuang data. Hal ini berguna hanya dengan tabel transaksi seperti InnoDB dan BDB, karena kemudian membuang status database yang konsisten pada saat BEGIN dikeluarkan tanpa memblokir aplikasi apa pun.
Saat menggunakan opsi ini, Anda harus ingat bahwa hanya tabel InnoDB yang dibuang dalam keadaan konsisten. Misalnya, tabel MyISAM atau MEMORY yang dibuang saat menggunakan opsi ini mungkin masih berubah status.
Sementara dump --single-transaction sedang dalam proses, untuk memastikan file dump yang valid (isi tabel yang benar dan koordinat log biner), tidak ada koneksi lain yang harus menggunakan pernyataan berikut:ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATETABLE. Pembacaan yang konsisten tidak diisolasi dari pernyataan tersebut, jadi penggunaannya pada tabel untuk dibuang dapat menyebabkan SELECT yang dilakukan oleh mysqldump untuk mengambil isi tabel untuk mendapatkan konten yang salah atau gagal.
Opsi --transaksi tunggal dan opsi --lock-tables saling eksklusif karena LOCK TABLES menyebabkan setiap transaksi yang menunggu keputusan dilakukan secara implisit.
Opsi ini tidak didukung untuk tabel MySQLCluster; hasilnya tidak dapat dijamin konsisten karena fakta bahwa mesin penyimpanan NDBCLUSTER hanya mendukung tingkat isolasi transaksiREAD_COMMITTED. Anda harus selalu menggunakan NDBbackup dan restore sebagai gantinya.
Untuk membuang tabel besar, Anda harus menggabungkan opsi --single-transaction dengan --quick.
Jika Anda ingin mencadangkan/memindahkan DB langsung Anda, Anda harus mempertimbangkan Replikasi MySQL