Karena aplikasi tidak secara ajaib menghasilkan kueri sesuka mereka, saya pikir kemungkinan besar ada kesalahan di suatu tempat di aplikasi Anda yang menyebabkan hal ini. Berikut beberapa saran yang dapat Anda gunakan untuk melacaknya. Saya menduga Anda menggunakan PHP, karena Anda menggunakan MySQL, jadi saya akan menggunakannya untuk contoh saya.
Coba tambahkan komentar di depan semua pertanyaan Anda di aplikasi, seperti ini:
$sqlSelect = "/* file.php, class::method() */";
$sqlSelect .= "SELECT * FROM foo ";
$sqlSelect .= "WHERE criteria";
Komentar akan muncul di log kueri Anda. Jika Anda menggunakan semacam pembungkus api basis data, Anda berpotensi menambahkan pesan-pesan ini secara otomatis:
function query($sql)
{
$backtrace = debug_backtrace();
// The function that executed the query
$prev = $backtrace[1];
$newSql = sprintf("/* %s */ ", $prev["function"]);
$newSql .= $sql;
mysql_query($newSql) or handle_error();
}
Jika Anda tidak menggunakan pembungkus, melainkan menjalankan kueri secara langsung, Anda dapat menggunakan ekstensi runkit dan fungsi runkit_function_rename untuk mengganti nama mysql_query (atau apa pun yang Anda gunakan) dan mencegat kueri.