
数据库
永远的EMT
每天时刻保持超越自我的意识
展开
-
MySQL查询语句执行过程
本文主要分析执行一条sql语句所经历的过程。mysql的逻辑架构图如下:MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层负责数据的存储和提取。其架构模...原创 2019-06-21 02:10:55 · 517 阅读 · 0 评论 -
SQL语句join用法
SQL join 用于把来自两个或多个表的行结合起来。下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。首先,连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表。左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接。外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找...原创 2019-06-17 19:46:59 · 827 阅读 · 0 评论 -
【LeetCode】SQL语句题解(一)
编写一个 SQL 查询,查找Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | a@b.com || 2 | c@d.com || 3 | a@b.com |+----+---------+根据以上输入,你的查询应返回以下结果:+---------+| Emai...原创 2019-06-17 22:02:27 · 402 阅读 · 0 评论 -
MySQL更新语句执行过程
跟查询流程不一样的是,更新流程还涉及两个重要的日志模块: redo log(重做日志)和 binlog(归档日志)。重要的日志模块: redo log在MySQL里如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程IO成本、查找成本都很高。为了解决这个问题, MySQL的设计者就用了WAL技术, WAL的全称是WriteAhead Logging,它的关键...原创 2019-06-22 02:09:09 · 832 阅读 · 0 评论