|
本帖最后由 sql_tigerliu 于 2023-8-14 23:00 编辑
苏老师, 你这个写法我测试执行耗时130秒, 我不知道你的1.x秒是什么来的. 这个写法的最大问题是, 如果给一个较大的h.beg_date, 它要从索引的最小值开始匹配, 然后发现不满足<w.end_date被丢弃, h.beg_date传入的值越大, 执行的越慢. 这种区间检索的问题, 我研究的比较多, 我那种两层的写法的效率还是比较高的. 如果用beg_date, 要用降序扫描才行(你的写法加index_desc hint, 耗时1.22秒). 你这种一层的写法, 如果遇到匹配不到的情况, 耗时也会增加, 如果能确保都匹配到, 也可以这样写, 用beg_data就要降序, 用end_date就不需要降序. |
|