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'
这是因为查询未使用索引,导致查询速度慢。
为了解决此问题,可以执行以下步骤:
- 创建索引: 在查询中涉及的列上创建索引。这将提高查询速度。
- 触发 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\n"; echo "error: ", $mysql->error, "\n"; return; } $get_emp_list->execute(); $get_emp_list->bind_result($id, $emp_list);
理论要掌握,实操不能落!以上关于《MySQL 查询未使用索引:如何解决“致命错误:未捕获的异常 \’mysqli_sql_exception\’ 带有消息 \’No index used in query/prepared statement\’”》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注主机宝贝公众号吧!