一、MySQL语法顺序,即当SQL中存在下面的关键字时,它们要保持这样的顺序: SELECT [ DISTINCT ] FROM JOIN(如LEFT JOIN) ON WHERE GROUP BY HAVING UNION ORDER BY LIMIT 二、MySQL执行顺序,即在执行时SQL按照下面的 […]
一、MySQL语法顺序,即当SQL中存在下面的关键字时,它们要保持这样的顺序: SELECT [ DISTINCT ] FROM JOIN(如LEFT JOIN) ON WHERE GROUP BY HAVING UNION ORDER BY LIMIT 二、MySQL执行顺序,即在执行时SQL按照下面的 […]
1、主键索引索引着数据,然后普通索引索引着主键ID值(这是在innodb中,但是如果是myisam中,主键索引和普通索引是没有区别的都是直接索引着数据) 2、当你查询用的是where id=x 时,那只需要扫描一遍主键索引,然后拿到相应数据 但是如果是查询的普通索引的话,那么会先扫描一次普通索引,拿到主键值,然后再去扫 […]
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢?之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你 […]
一条SQL查询语句是如何执行的? 前言 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID 字段,在执 […]
MySQL 使用 explain + sql 语句查看 执行计划,该执行计划不一定完全正确但是可以参考。 EXPLAIN SELECT * FROM t_store WHERE sn = 1; id select_type table partitions type possible_keys key key_len […]
参照mongoDB的ID生成策略,生成唯一ID。 一共12个字节(示例:5cecf0a8a7573ea439fa1a89) 前4个字节表示时间戳 再往后数3个字节表示运行当前程序的机器ID 再往后2个字节表示生成此id的进程的ID 最后3个字节表示由一个随机数开始的计数器生成的值 然后转为16进制的字符串。 源码如下: […]
数据库(database) 创建新的数据库: create database [if not exists] db_name; 删除数据库: drop database db_name; 使用数据库: use db_name; 显示所有数据库: show databases; […]
佳节又重阳,玉枕纱厨,半夜凉初透。