MySQL数据库基础知识7,查询的执行过程

一、拆分查询

将大查询拆分成小查询,每个查询功能完全一样,只是一小部分,每次只返回一小部分查询结果。

比如在删除旧数据的时候,如果用一个大的语句一次性删的话,则可能需要一次性锁住很多数据、占满整个事务日志、耗尽系统资源、阻塞其它查询任务。如果将一个大的删除语句拆分成若干个较小的删除语句,可以提升MySQL的性能。一次删除一万行数据一般来说是一个比较高效并且对服务器影响最小的做法。

二、分解关联查询

分解关联查询的优势

  1. 让缓存更高效,如果某个表改变了,就无法使用查询缓存了,而拆分后,如果其它表没变化,那么基于这些表的查询就可以使用缓存结果了;
  2. 将查询分解后,执行单表查询时可以减少锁的竞争;
  3. 在应用层做关联,可以更容易对数据进行拆分,更容易做到高性能和高扩展;
  4. 查询本身的效率也可能会提升;
  5. 可以减少冗余记录的查询

三、查询的执行过程

  1. 客户端发送一条查询语句到服务器
  2. 服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据;
  3. 未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL解析器将使用MySQL语法进行验证和解析。例如,验证是否使用了错误的关键字,或者关键字的使用是否正确;
  4. 预处理是根据一些MySQL规则检查解析树是否合理,比如检查表和列是否存在,还会解析名字和别名,然后预处理器会验证权限;
  5. 根据执行计划查询执行引擎,调用API
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MySQL是一个开源的关系型数据库管理系统,它使用SQL语言进行查询和管理数据。以下是MySQL数据库基础知识: 1. 数据库:是由一组相关数据表组成的集合。在MySQL中,数据库是一个物理文件,存储在磁盘上。 2. 数据表:是由一组有序的行和列组成的二维表格。每个数据表都有一个唯一的名称,用于标识和访问它。 3. 列:也称为字段或属性,是数据表中的一个垂直部分,用于存储特定类型的数据。 4. 行:也称为记录或元组,是数据表中的一个水平部分,包含一组相关的数据。 5. 主键:是一列或一组列,用于唯一标识数据表中的每一行。主键的值不能重复,且不能为NULL。 6. 外键:是一个列或一组列,用于建立两个数据表之间的关系。外键必须引用另一个表的主键。 7. 索引:用于提高数据检索速度的数据结构。索引可以在一个或多个列上创建,允许快速查找和过滤数据。 8. 视图:是一种虚拟表格,它是由一个或多个数据表的查询结果组成的。视图可以简化复杂的查询和数据访问。 9. 存储过程:是一组预定义的SQL语句,可以接受输入参数并返回输出参数。存储过程可以在数据库中存储和重复使用。 10. 触发器:是一种特殊类型的存储过程,用于在数据表上自动执行特定的操作。例如,在插入新数据行时自动更新另一个数据表。 以上是MySQL数据库基础知识,对于MySQL的安装、配置、管理和优化等方面也需要进行深入学习和了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值