
西檬之家-字母圈的aftercare
太久没爬起来了,挺各种挑战,现在参与v2了,页面又换了,有点折腾,但愿这次稳定了,加油!\n\n不得不说这是一个非常强大的面试题目!!!2000年当SQL传来中国时,我们发现了寡头和规模化。但是在数据库项目中我们还是会有一个语句我们必须要抽出来请对方解释,然后他会说这个不太清楚,错了。我猜大家都知道是where和order by重做排序的代价,就是硬盘IO最多的地方。但你知道吗,你写的select * from tab_1 where 1=1; 执行计划里面有可能会显示clustered index scan,这个全簇索引扫描,消耗很少的IO,然后老老实实的从里往外取数据,所以这种表就是堆表。但是如果有一个表里有聚集索引,而且你访问的数据量比较大,比如走了select count(*) from tab_1 where 3=3 \n;这种情况,执行计划你会清楚的看到一个操作叫compute scalar?不不不,你应该看到compute scalar和compute band,还有 stream aggregation?其实这些都是为了分组统计而进行计算的地方。所以通过对执行计划的解读,我们可以更快的定位为什么语句又比过去变慢了,从而优化,有的时候甚至杀死一些多余的\\u200B访问?等等。\n\n@@@。\\n\n\t
