测了两个dm8与sqlserver2012查询速度的比较




例1 :
select count(0) from t_case_bill --103716select b1.id,b1.billmoney,sum(b2.billmoney)
from(
select top 10000 id,billmoney from t_case_bill
)b1 inner join t_case_bill b2 on b2.id<=b1.id
group by b1.id,b1.billmoney
#上面这句在sqlserver里,执行了1分钟38秒 10000行
#而在 dm8里,执行了,7.5秒100行,即如果10000行 都显示应该是要 12.5分钟


例2:

select top 1 id,billmoney,(select sum(billmoney) from t_case_bill b1 where b1.id<=b2.id )
from t_case_bill b2

#上面这句 在sqlserver里,是秒出的,因为只有一行

#而在dm8里,执行了几十分钟(我测的约45分钟), 估计是 id这个聚集索引没起作用  (所以,它推荐使用 例1的写法,但写法复杂度有增加,个人建议dm优化)

 

 




 

posted @ 2023-09-25 19:49  以函  阅读(13)  评论(0编辑  收藏  举报