
MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示...
join 的写法 如果用 left join 的话,左边的表一定是驱动表吗? 如果两个表的 join 包含多个条件的等值匹配,是都要写到 on ...
分区表是什么? 为了说明分区表的组织形式,先创建一个表 t: 在表 t 中初始化插入了两行记录,按照定义的分区规则,这两行记录分别落在 p_20...
在 MySQL 里面,grant 语句是用来给用户赋权的。不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush...
如果可以控制对源表的扫描行数和加锁范围很小的话,我们简单地使用 insert … select 语句即可实现。 当然,为了避免对源表加读锁,更稳...
MySQL 对自增主键锁做了优化,尽量在申请到自增 id 以后,就释放自增锁。 因此,insert 语句是一个很轻量的操作。不过,这个结论对于“...
由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑。但业务设计依赖于自增主键的连续性是不对的,也就是说,这个设计假设...
上文中,两个 group by 语句都用了 order by null,为什么使用内存临时表得到的语句结果里,0 这个值在最后一行;而使用磁盘临...
前面我们介绍了 sort buffer、内存临时表和 join buffer。这三个数据结构都是用来存放语句执行过程中的中间数据,以辅助 SQL...
文集作者