select * from table1 where table1.id>3
和
select * from (select * from table1 where table1.id>3) as t1
效率的差距
自己试了一把,两种写法,在物理读与逻辑读上的次数都是一样的,唯一不同的是执行时间差距在毫秒级别,第一种执行时间为0ms第二种为1ms 这种时间完全可以乎略不计,所以两种效率我认为是一样的
其他类型数据库呢
@秦时明月-Moon.Orm塑造Orm经典:
本地只有SQLServer,但是我想其它数据库,在这种语法上的处理都应该都是一致或者类似的,差距应该也是很细微的,以致于可以乎略
这两个脚本在执行上没有差异.
因为sql server会自动优化第二种脚本
其他类型数据库呢
这两个语句比较效率意义不大。一般你写第一种即可。
其实第二种在Orm中常常出现
linq ef
nhibernate
@秦时明月-Moon.Orm塑造Orm经典: 的确,这是对象化sql几乎无可避免的问题。
@幻天芒: 所以在下版本的设计中,准备完全战胜HQL
@秦时明月-Moon.Orm塑造Orm经典: 额,特点不一样吧。Moon就主打小巧和灵活就行了吧。我还没来得及看源码呢~