Ada masalah tertentu dalam hal transaksi dan tingkat isolasi yang berbeda mencegahnya. Saya telah menjelaskan ini dalam jawaban saya di sini
.
Masalah seperti phantom read misalnya, bisa mempengaruhi hasil seleksi seperti yang Anda lakukan, ya. Tetapi hasil SQL_CALC_FOUND_ROWS disimpan segera setelah kueri selesai dan hilang segera setelah Anda menjalankan kueri lain di sesi yang sama. Itu adalah bagian yang penting. SQL_CALC_FOUND_ROWS terikat sesi . Tidak mungkin, hasil kueri lain di sesi lain disimpan di sesi Anda saat ini. Penggunaan SQL_CALC_FOUND_ROWS tidak tunduk pada kondisi balapan. Hasil kueri SELECT, ya, tetapi bukan hasil FOUND_ROWS(). Jangan bingung.