我猜测应该优化器估算两个成本差不多导致的
当不加order by时:优化器判断走索引是最优的
加了order by limit 100时:优化器有两种选择,第一种还按原来走,最后来个Top算子做下排序并取前100
第二种它发现你order by的是tod表id,正好能利用上tod表主键有序性(猜测tod表为聚簇表,并且走全表的时候keep order为true,图片没截到,楼主可以确认下),这样再加上limit优化,这样实际不用全表,只需要边扫边拿结果,到100行后就停就好了,但是真实执行的时候发现拿了半天tod表的数据,都没关联上,最后扫完了都没,优化器评估两种差不多,所以还是优化器模型问题(也不能说问题,因为优化器这东西本来就是基于统计学估算的,总有不准的时候),想让走一直走索引可以给tor表加一个选择性更好的条件测试下。