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í)行以下步驟:
- 創(chuàng)建索引: 在查詢中涉及的列上創(chuàng)建索引。這將提高查詢速度。
- 觸發(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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END