explain SQL语句性能测试返回值的具体含义如下:
mysql>explain select * from table;
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
table #显示该语句涉及的表
type #这列很重要,显示了连接使用了哪种类别,有无使用索引,反映语句的质量。
possible_keys #列指出MySQL能使用哪个索引在该表中找到行
key #显示MySQL实际使用的键(索引)。如果没有选择索引,键是NULL。
key_len #显示MySQL决定使用的键长度。如果键是NULL,则长度为NULL。使用的索引的长度。在不损失精确性的情况下,长度越短越好
ref #显示使用哪个列或常数与key一起从表中选择行。
rows #显示MySQL认为它执行查询时必须检查的行数。
extra #包含MySQL解决查询的详细信息。
其中:Explain的type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL(优-->差)
一般来说,得保证查询至少达到range级别,最好能达到ref,否则就可能会出现性能问题。
分享到:
相关推荐
- **CREATE PROCEDURE**:创建存储过程,预编译的SQL语句集合,可接受参数并返回值。 - **DROP PROCEDURE**:删除存储过程。 - **CREATE TRIGGER**:创建触发器,当特定事件发生时自动执行的SQL语句集合。 - **DROP ...
- **EXPLAIN**:分析查询的执行计划,帮助优化查询性能。 - **OPEN**、**FETCH**、**CLOSE**:用于处理游标,逐行处理查询结果。 - **PREPARE**:预编译SQL语句,提高执行效率。 - **EXECUTE**:执行已准备好的...
手册中的实例部分可能涵盖了这些知识点的实际应用,包括具体的SQL语句示例、实际问题的解决方案以及解释为何这样做的原因。通过深入理解和实践这些例子,读者能够逐步提升自己的SQL技能,更好地管理和操作数据库。
MySQL mysql_query 函数执行 SQL 语句 mysql_query() 函数是 PHP MySQL 函数库中的一种函数,用于向 MySQL 发送并执行 SQL 语句。该函数可以对数据库进行增删改查等操作,並返回执行结果。 参数说明: * query:...
以下是一些常见的SQL语句及其功能的详细解释: 1. **数据操作**: - **SELECT**: 用于从数据库表中检索数据行和列。你可以通过指定列名、使用通配符(如`%`)进行模糊匹配,或者使用`WHERE`子句设置条件来过滤结果...
- 在每个SQL语句之前添加注释,说明该语句的目的和作用。 - 对于存储过程和函数,提供详细的头部注释,包括参数说明、返回值和使用场景。 3. **代码格式化**: - 保持代码整洁,每条SQL语句结束后换行。 - 使用...
掌握这些关键字的含义和用法对于编写高效、正确的SQL语句至关重要。此外,虽然不同数据库管理系统(DBMS)对关键字的支持和解释可能略有差异,但了解SQL标准中的关键字可以帮助开发者编写更兼容、更通用的SQL代码。
程序员需要了解如何编写高效的SQL语句,避免全表扫描,利用索引提高查询速度。理解EXPLAIN计划,学会使用JOIN操作,以及掌握子查询和临时表的使用,都能显著提升SQL查询性能。 数据库事务处理是保证数据一致性和...
该文档比较了两种数据库的很多细节特征,包括数据类型、SQL语句的语法、函数、操作、数据操作语言(DML)命令等等。接下来,我将根据文件内容,详细介绍Mysql和SQLserver之间的一些关键区别。 首先,MySQL是一种...
- BEGIN...END:执行部分,包含SQL语句和PL SQL过程。 - EXCEPTION:异常处理部分,捕获并处理运行时错误。 3. **数据类型** - 数值类型:NUMBER(可选精度和小数位数)、BINARY_INTEGER(整数)。 - 字符串...
- 使用索引提高查询速度,理解执行计划(EXPLAIN PLAN)以优化SQL语句。 - 了解并使用绑定变量以减少硬解析,提高执行效率。 以上知识点构成了Oracle 10g PL/SQL编程的核心内容,通过深入学习和实践,开发者可以...
存储过程和函数是预编译的SQL语句集合,可重复使用,提高了代码效率和安全性。它们还可以接受参数,返回值,甚至处理异常。 10. **安全性与权限管理** Oracle SQL提供了精细的权限控制,如GRANT和REVOKE命令,...
2. **SQL语句基础**:熟练掌握SELECT、INSERT、UPDATE、DELETE四大基本操作,理解它们之间的关系和差异。了解如何使用子查询、联接(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)以及UNION操作来组合和筛选数据...
选中待分析的SQL语句,点击工具栏的“Explain plan”按钮(或按F5)即可查看Oracle的执行计划,以优化查询性能。 5. **调试存储过程**: 在`Browser`中找到需要调试的存储过程,右键选择`Test`。在弹出的`Test ...
1. 数据类型:如NUMBER、VARCHAR2、DATE等,理解它们的用途和限制是编写SQL语句的基础。 2. SELECT语句:用于从表中检索数据,包括选择列、过滤行(WHERE子句)、排序(ORDER BY子句)和分组(GROUP BY子句)。 3. ...
- PL/SQL由声明部分(声明变量、常量、游标等)、执行部分(包含控制结构和SQL语句)和异常处理部分组成。 2. **数据类型** - PL/SQL的数据类型包括数值型(如NUMBER)、字符型(VARCHAR2、CHAR)、日期型(DATE...
- **SQL调优**:通过改写SQL语句、使用绑定变量等方式优化查询性能。 10. **数据库安全** - **用户与角色**:创建和管理数据库用户,分配权限,使用角色进行权限管理。 - **审计**:设置审计策略,监控数据库...
1. **SQL语句简介**:这是学习SQL的基础,包括基本的SELECT语句用于查询数据,INSERT用于插入数据,UPDATE用于修改数据,以及DELETE用于删除数据。此外,还会介绍如何使用WHERE子句进行条件筛选,GROUP BY和HAVING...
存储过程是数据库管理系统中预编译的SQL语句集合,它封装了特定的数据库操作,可以理解为数据库中的可执行程序。在SQL中,存储过程是数据库对象,用于执行复杂的数据处理任务,包括数据的增删改查以及事务处理等。...
- **嵌套SQL**:在PL/SQL块中使用SQL语句进行数据查询和操作。 - **bulk collect**:用于一次性收集多个查询结果,提高批量操作的性能。 11. **PL/SQL的开发工具** - **SQL*Plus**:Oracle提供的命令行工具,可...