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

Mengapa kueri kami macet di status Menulis ke jaring di MySql?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan sql:Konversi tipe data varchar ke tipe data datetime menghasilkan nilai di luar rentang

  2. Bagaimana menentukan mana yang lebih efektif:DISTINCT atau WHERE EXIST?

  3. Bagaimana cara mendapatkan rentang integer acak mysql?

  4. Kesalahan fatal:Panggilan ke metode yang tidak ditentukan mysqli_stmt::fetch_array()

  5. kueri sql untuk mendapatkan catatan yang dihapus