MySQL与PHP的基础与应用专题之索引

MySQL与PHP的基础与应用专题之索引,第1张

MySQL与PHP的基础与应用专题之索引 概述

从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.

索引

索引 (Index) 是一种特殊的数据结构, 类似于图书的目录. 索引能够极大的提升数据库的查询效率. 如果没有索引, 在查询数据时必须扫描表中的说有记录才能找出符合条件的记录, 这种全表扫描的查询效率非常低.

索引的种类描述普通索引最基本的索引, 没有任何限制, 仅加速查询唯一索引索引列的值必须唯一, 但允许有空值主键索引一种特殊的唯一索引, 不允许有空值复合索引两个或多个列上的索引被称作符合索引全文索引对文本内容进行分词索引

格式:

CREATE INDEX 索引名 ON 表名(列名)

查询分析器 EXPLAIN

EXPLAIN 命令可以查看 SQL 语句的执行计划. 当 EXPLAIN 与 SQL 语句一起使用时, MySQL 将显示来自优化器的有关语句执行计划的信息. MySQL 解释了它将如何处理语句, 包括有关如何连接表以及以何种顺序连接表的信息.

查询分析器的用途:

  • 分析出表的读取顺序
  • 数据读取 *** 作的 *** 作类型
  • 哪些索引可以使用
  • 哪些索引被实际使用
  • 表之间的引用
  • 每张表有多少行被优化器查询

结果解析:

参数描述id执行 SELECT 或 *** 作表的顺序select_type查询的类型, 如 SIMPLE, PRIMARY, SUBQUERY, DERIVED, UNION 等table当前行使用的表名partitions匹配的分区type连接类型possibile_keys可能使用的索引key实际使用的索引, NULL 表示未使用索引key_len查询中使用的索引长度ref列与索引的比较rows扫描的行数filtered选取的行数占扫描的行数的百分比extra其他信息

格式:

EXPLAIN SQL 语句

例子:

MySQL 日志

日志 (Log) 用于记录数据库的运行情况, 以及用户对数据库执行的各类 *** 作. 当数据库发生故障时, 可以根据日志分析和解决问题, 从而对数据进行恢复.

日志描述重做日志 (Redo Log)重做日志是一种物理格式的日志, 记录的是物理数据页面修改的信息回滚日志 (Undo Log)回滚日志是一种逻辑格式的日志, 在执行 Undo 的时候. 仅仅是将数据从逻辑上恢复至事务之前的状态二进制日志 (Bin Log)二进制日志是一种逻辑格式的日志, 以二进制文件的形式记录了数据库中的 *** 作, 但不记录查询语句错误日志 (Error Log)错误日志记录着 Mysqld 启动和停止, 以及服务器在运行过程中发生的错误的关信息慢查询日志 (Slow Query Log)慢查询日志记录执行时间过长和没有使用索引的查询语句一般查询日志 (General Log)记录了服务器收到的每一个查询或是命令, 无论这些查询是命令是否正确甚至是否包含语法错误中继日志 (Relay Log)中级日志类似二进制, 可用于复制架构中, 使从服务器和主服务器的数据保持一致 慢查询日志

慢查询日志用于记录 MySQL 数据库中响应时间超过指定阈值的语句. 慢查询日志通常也被称为慢体质, 因为慢查询不仅仅针对 SELECT 语句, 像 INSERT, UPDATE, DELETE 等语句. 只要响应时间超过所设定阈值都会记录在慢查询日志中.

参数描述slow_query_log是否开启慢查询日志, 1 表示开启, 0 表示关闭slow_query_log_file慢查询日志存储路径, 可选long_query_time阈值, 当 SQL 语句的响应时间超过阈值就会被记录到日志中log_queries_ not_using_indexes未使用索引的查询也被记录到慢查询中, 可选log_output日志存储方式, 默认为 FILE
log_output=‘FILE’ 表示将日志存入文件
log_output=‘TBALE’ 表示将日志存入数据库
log_output=‘FILE, TABLE’ 表示同时将日志存入文件和数据库

开启慢查询:

set slow_query_log='ON';
set long_query_time=1;

到此这篇关于MySQL与PHP的基础与应用专题之索引的文章就介绍到这了,更多相关MySQL 索引内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/2997058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-26
下一篇 2022-09-26

发表评论

登录后才能评论

评论列表(0条)

保存