MySQL 查询未使用索引:如何解决“致命错误:未捕获的异常 \'mysqli_sql_exception\' 带有消息 \'No index used in query/prepared statement\'”

mysql 查询未使用索引:如何解决“致命错误:未捕获的异常 'mysqli_sql_exception' 带有消息 'no index used in query/prepared statement'”

mysql 查询未使用索引造成的错误

在运行 mysql 查询时,收到了以下错误消息:

致命错误:未捕获的异常 'mysqli_sql_exception' 带有消息 'no index used in query/prepared statement'

这是因为查询未使用索引,导致查询速度慢。

为了解决此问题,可以执行以下步骤:

  1. 创建索引: 在查询中涉及的列上创建索引。这将提高查询速度。
  2. 触发 mysql 错误报告: 使用 mysqli_report() 函数触发 mysql 错误报告,以便在查询中未使用索引时显示警告。

以下是如何修改代码:

<?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); // 触发 MySQL 错误报告
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 failed
";
    echo "error: ", $mysql->error, "
";
    return;
}
$get_emp_list->execute();
$get_emp_list->bind_result($id, $emp_list);

以上就是MySQL 查询未使用索引:如何解决“致命错误:未捕获的异常 'mysqli_sql_exception' 带有消息 'No index used in query/prepared statement'”的详细内容,更多请关注其它相关文章!