关于[简单的聊聊索引的那些事儿]的摘要:
工作经历中,随着业务数据长时间积累,Mysql的数据也稍微有一定的量,于是乎当时我们进行一次服务端慢查询大排查,确定慢查询属于哪个工程并且将其优化掉。我工程内也有一个,大体是MQ订阅到的taskid,taskid关联task的log表去找最近的一条记录的时间,然后根据时间校验是否放行做相应业务处理。我explain下,发现当时写的时候,log表的taskid也没有建索引,当log表的记录积累起来后,这个查询会显得很慢,建索引后有立竿见影的效果,当然这只是一个非常简单的场景。其实这里还衍生出一个问题:当log表数据量过大时候修改表结构,会造成一段时间的锁表。虽然有些方式可以避免锁表,但是“合理时机”创建索引还是很重要的。知其然,要知其所以然,来看看索引的那些事儿。