MySQL 查詢未使用索引:如何解決“致命錯(cuò)誤:未捕獲的異常 ‘mysqli_sql_exception’ 帶有消息 ‘No index used in query/prepared statement’”

MySQL 查詢未使用索引:如何解決“致命錯(cuò)誤:未捕獲的異常 ‘mysqli_sql_exception’ 帶有消息 ‘No index used in query/prepared statement’”

mysql 查詢未使用索引造成的錯(cuò)誤

在運(yùn)行 mysql 查詢時(shí),收到了以下錯(cuò)誤消息:

致命錯(cuò)誤:未捕獲的異常 'mysqli_sql_exception' 帶有消息 'no index used in query/prepared statement'

這是因?yàn)椴樵兾词褂盟饕瑢?dǎo)致查詢速度慢。

為了解決此問(wèn)題,可以執(zhí)行以下步驟:

  1. 創(chuàng)建索引: 在查詢中涉及的列上創(chuàng)建索引。這將提高查詢速度。
  2. 觸發(fā) mysql 錯(cuò)誤報(bào)告: 使用 mysqli_report() 函數(shù)觸發(fā) mysql 錯(cuò)誤報(bào)告,以便在查詢中未使用索引時(shí)顯示警告。

以下是如何修改代碼:

<?php $mysql = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database'); mysqli_report(MYSQLI_REPORT_OFF); // 觸發(fā) MySQL 錯(cuò)誤報(bào)告 if (mysqli_connect_errno()) {     printf("DB error: %s", mysqli_connect_error());     exit(); }  $get_emp_list = $mysql->prepare("SELECT id, name FROM calc"); if (!$get_emp_list) {     echo "prepare failedn";     echo "error: ", $mysql->error, "n";     return; } $get_emp_list->execute(); $get_emp_list->bind_result($id, $emp_list);

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享