原生SQL&非原生SQL

原生SQL&非原生SQL

纯搬运工,参考概念用

原生sql:数据库能直接执行的sql语句,比如能在oracle,mssql,mysql,db2等数据库中直接执行

非原生sql:一般指根据指定的程序规则,自动生成的sql,比如最经典的,linq to sql

SQL查询  

  • 原理:对用户撰写的SQL进行一层包装,添加更多分析功能。
    例如客户写的是select t.x  as Fa,  (t.x+t.y) as Fb from T where ....
    那么封装后就变成:       
    select Fa, Fb  //可以选择显示那些字段。
    from            
    (select t.x  as Fa,  (t.x+t.y) as Fb from T where ....  ) TX            
    where .... //报表展现中,可以设置过滤条件,就是靠修改的这部分SQL实现            
    order by ....//报表展现中,排序操作,就是靠修改的这部分SQL实现            
    group by ... //报表展现中,聚合小计操作,就是靠修改的这部分SQL实现          
  • 优势:在灵活分析的展现界面,还可以做排序,过滤,汇总等操作;          
  • 劣势:对SQL有书写要求,需要在用户sql中,显式申明别名;对SQL做多一层封装,对于某些数据库来说,可能效率会低一些;

原生SQL查询 

  • 原理:不对用户的SQL做任何封装,直接提交到数据库。 
  • 优势:对SQL语法没有任何限制;速度更快; 
  • 劣势:不计算总行数;如果查询结果较大,用户可能不知道结果集大小;在灵活分析的展现界面,不支持排序、过滤、聚合等操作;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值