作者回复: 1. Truncate 可以理解为drop+create
2. Online 可以认为没有
3. 数据也是索引哦
4. 可能会
5. 好问题,我放到明天答疑部分
作者回复: 好问题。
性能一样的,没有一定要“连续”,只要是递增
作者回复: 1. 不是哦,我文章里说的加全文索引就不online
2. 对,这两个暂时,都是时间很短的
3. 是,DML语句加的是MDL读锁,读读不冲突
4. 好问题 , 不过alter table 语句会默认提交前面的事务,然后自己独立执行😄
作者回复: 额,
Copy的时候肯定更要的…
这里特别指出来,是因为大多数人很容易理解copy需要临时空间,但是误以为inplace不需要
Anyway,好问题 😄
作者回复: 一个漂亮的答案
作者回复: 3. 可以这么想下,如果1,2,3,4,5
然后update把2 改成6, 如果原地修改,这个索引就不是“有序”的了
作者回复: 👍🏿,下一篇答疑直接贴你答案😄
作者回复: 好问题,这个得是比较极端的情况下才有必要,所以我比较喜欢直接用alter
作者回复: 👍
作者回复: 1. 确保没有启发请求在用这个表
2. Binlog设置为row格式,幂等的
3. 这个我觉得其实是bug,就没提。你在DDL期间,往原表插入一个已经存在相同主键的一行试试
作者回复: 👍,找到正主了😆
作者回复: 如果有别的线程正在读这个表的数据,得等下
作者回复: 你这个问题放在第16篇问就刚刚好了。
以前不支持紧凑排序的时候有,现在没啥了差别了,小于256都差不多
作者回复: 不是…
我的意思是,数据是放在主键索引的叶子节点的
“索引也是数据”这个是哲学问题,一切皆数据😄
作者回复: 👍🏿
作者回复: 可以这么想下,如果2 和 6应该属于不同的父亲节点,那父亲节点怎么表示这个page的取值范围?