Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо нашите заявки се забиват в състоянието Writing to net в MySql?

Тъй като приложенията не генерират магически заявки, както им харесва, мисля, че е доста вероятно да има грешка някъде във вашето приложение, която причинява това. Ето няколко предложения, които можете да използвате, за да го проследите. Предполагам, че използвате PHP, тъй като използвате MySQL, така че ще го използвам за моите примери.

Опитайте да добавите коментари пред всичките си заявки в приложението, като това:

$sqlSelect  = "/* file.php, class::method() */";
$sqlSelect .= "SELECT * FROM foo ";
$sqlSelect .= "WHERE criteria";

Коментарът ще се покаже в регистъра на вашите заявки. Ако използвате някаква обвивка на API на база данни, потенциално бихте могли да добавите тези съобщения автоматично:

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();
}

В случай, че не използвате обвивка, а по-скоро изпълнявате заявките директно, можете да използвате разширението runkit и функцията runkit_function_rename да преименувате mysql_query (или каквото и да използвате) и да прихващате заявките.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL SELECT последните няколко дни?

  2. създайте ограничение на таблицата в mysql

  3. REGEXP С PDO Mysql

  4. Таблици с данни, обединяващи таблици за търсене и подреждане, останаха с codeigniter

  5. MySQL има две различни пароли?