当前位置: 首页 > wzjs >正文

网站设计手机型网页 调用 wordpress

网站设计手机型,网页 调用 wordpress,网络促销,域名过户后怎么做网站当执行如下 SQL: SELECT * FROM users WHERE id 1;在数据库内部,其实会经历多个复杂且有序的阶段。以下是 MySQL(InnoDB 引擎)中 SQL 查询语句从发送到结果返回的完整执行流程。 客户端连接阶段 客户端(如 JDBC、My…

当执行如下 SQL:

SELECT * FROM users WHERE id = 1;

在数据库内部,其实会经历多个复杂且有序的阶段。以下是 MySQL(InnoDB 引擎)中 SQL 查询语句从发送到结果返回的完整执行流程。


客户端连接阶段

  • 客户端(如 JDBC、MySQL Shell)通过 TCP 与 MySQL 服务器建立连接。
  • 连接器模块完成身份认证(用户名/密码)、权限校验。
  • 若使用连接池,连接可能已被复用。

语法分析阶段(Parser)

1. 词法分析(Lexical Analysis)

  • 将 SQL 字符串拆解成关键字、标识符、操作符等 Token。
  • 例子:SELECT, *, FROM, users, WHERE, id, =, 1

2. 语法分析(Syntax Analysis)

  • 依据 SQL 语法规则生成抽象语法树(AST)
  • 若语法不合法,此阶段抛出语法错误。

预处理阶段(Preprocessor)

  • 验证表/字段是否存在。
  • 检查当前用户是否有访问权限。
  • 解析字段别名、函数等表达式。
  • 确定查询涉及的表和列。
  • 最终输出逻辑查询结构

查询优化阶段(Optimizer)

优化器根据预处理阶段的语义结构生成最优执行计划(Execution Plan)

1. 访问路径选择

  • 使用 索引扫描 还是 全表扫描
  • 是否走覆盖索引,是否需要回表?

2. 连接顺序优化(Join Order)

  • 对多表 JOIN,决定访问顺序与连接方法(如 Nested Loop、Hash Join)。

3. 成本估算(Cost Estimation)

  • 评估每种执行方式的代价(IO 次数、内存使用等)。
  • 选择代价最小的执行路径。

查询执行阶段(Executor)

执行器根据优化器生成的执行计划与存储引擎交互,完成数据访问。

执行器主要职责:

  • 调用引擎接口访问表和索引。
  • 进行 WHERE 过滤、JOIN、聚合、排序、分组等操作。
  • 构造并返回最终结果集。

存储引擎访问阶段(以 InnoDB 为例)

MySQL 使用插件式存储引擎架构。以 InnoDB 为例:

  • 数据页首先尝试从 Buffer Pool(缓冲池)中读取。
  • 若不在缓冲池,则从磁盘读取并加入缓冲池。
  • 使用 B+ 树索引定位记录。
  • 如果为覆盖索引(索引包含查询列),可避免回表。
  • 对于非索引字段,需根据主键“回表”查找。

结果返回阶段

  • 执行器生成的结果集通过 MySQL 协议格式化。
  • 数据从服务器通过网络传输返回给客户端。
  • 客户端解析并展示结果。

日志与事务支持(InnoDB)

虽然 SELECT 查询本身不会写入日志,但其他 SQL 会涉及以下机制:

  • Undo Log:支持事务回滚、MVCC。
  • Redo Log:保证事务持久化(WAL机制)。
  • Binlog:记录变更操作,用于主从复制和恢复。

注:查询语句可能间接使用 undo log(如 MVCC)。


SQL 执行流程图

Client Connector Parser Preprocessor Optimizer Executor StorageEngine 提交 SQL 查询 权限校验、连接管理 语法分析、语义分析 检查字段/表、构造逻辑查询块 生成并下发最优执行计划 根据执行计划读取数据(可能命中索引) 返回数据页或记录 返回结果集 Client Connector Parser Preprocessor Optimizer Executor StorageEngine

使用 EXPLAIN 查看执行计划

EXPLAIN SELECT * FROM users WHERE id = 1;

查看字段含义:

  • id: 查询标识
  • select_type: 查询类型(SIMPLE/PRIMARY等)
  • table: 访问的表
  • type: 连接类型(ALL、index、range、ref、const 等)
  • key: 使用的索引
  • rows: 扫描的行数
  • Extra: 是否使用临时表、排序、是否回表等信息

查询性能影响因素

影响因素说明
是否走索引非索引字段将触发全表扫描
是否回表二级索引查询非索引字段时需根据主键回表
连接数与并发并发高时,CPU/IO/锁资源紧张
查询缓存MySQL 8.0 起已废弃
临时表与排序ORDER BY / GROUP BY 可能触发文件排序与临时表
网络延迟大结果集网络传输慢

总结

一条 SQL 查询的完整内部执行流程如下:

  1. 客户端连接 → 建立连接并认证
  2. 解析 SQL → 词法/语法分析生成语法树
  3. 预处理 → 验证权限与对象合法性
  4. 优化器选择最优执行计划
  5. 执行器执行 SQL 逻辑
  6. 存储引擎读取数据
  7. 返回结果集给客户端

文章转载自:

http://oSWSKClP.ykbgs.cn
http://t0GNRCKI.ykbgs.cn
http://gRSy81T4.ykbgs.cn
http://gMiTXm7d.ykbgs.cn
http://nVptANYN.ykbgs.cn
http://ksDsDzxT.ykbgs.cn
http://O8sQpEOL.ykbgs.cn
http://x3PtLYMk.ykbgs.cn
http://p146xXAy.ykbgs.cn
http://43D256o5.ykbgs.cn
http://jCkUr66N.ykbgs.cn
http://nGMi5cDh.ykbgs.cn
http://pmJ2ZRV0.ykbgs.cn
http://cc8xPGRH.ykbgs.cn
http://u73Tb4CZ.ykbgs.cn
http://cvQ3wZtu.ykbgs.cn
http://cNztno3T.ykbgs.cn
http://HsnY1fIU.ykbgs.cn
http://6HM247hx.ykbgs.cn
http://y5UehiB6.ykbgs.cn
http://5KCiAoKJ.ykbgs.cn
http://FXS9QrTX.ykbgs.cn
http://hbuOrfVJ.ykbgs.cn
http://iCYgeZoO.ykbgs.cn
http://6cWrsswk.ykbgs.cn
http://bJ1ZoWjI.ykbgs.cn
http://RrhNA7LU.ykbgs.cn
http://33DunS5J.ykbgs.cn
http://xWoGqawk.ykbgs.cn
http://xXuTUkVv.ykbgs.cn
http://www.dtcms.com/wzjs/640177.html

相关文章:

  • 西宁市网站设计高端网页qq邮箱登录
  • 扬州做网站公司哪家好有什么可以接单做设计的网站
  • html5网站开发费用建设直播网站需要多少钱
  • 个人网站可以做企业网站吗网站备案 上线
  • 网站开发学习流程机械设备做公司网站
  • 数据库查询网站建设wordpress菜单使用2层
  • 手机网站是怎么制作的特色网站设计
  • 网站设置访问密码做网站时应该用什么软件
  • 怎么写公司网站的文案安卓手机应用商店
  • 网站建设需要什么硬件和软件有哪些方面电商网站建设考试
  • 国外怎么做直播网站吗html5教程视频教程
  • 连云港建设公司网站黑龙江建设网官方网站三类人员
  • 网站开发外包报价建网站中企动力
  • 网站建设网站公司哪家好苏华建设集团有限公司网站
  • 漫画驿站网页设计图纸尺寸图怎么备案域名
  • 淮安网站建设优化可以做数理化的网站
  • 九亭微信网站建设wordpress 百度提交
  • 宠物之家网站开发wordpress排除置顶文章
  • 厦门市海沧区建设局网站WordPress开通用户投稿功能
  • 百度上搜不到做的网站网站开发的软件介绍
  • 在网站开发中如何设置用户登录西宁网站设计企业
  • 手机网站开发+手机模拟器刷关键词排名系统
  • 怎么做企业网站上虞区驿亭镇新农村建设网站
  • 水库信息化网站建设wordpress手机版使用
  • 网站开发人员培训家用宽带怎样做网站服务器
  • 哪个网站可以找到毕业设计快递网站制作
  • 西安正规网站建设公司php培训
  • 做网站办什么类型营业执照网站建设的教材
  • 河南教育平台网站建设杭州公司官方网站制作
  • 临沂网站建设门户网站 建设商 排名