• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
一个具有上进心的码农
因为一篇文章中有很多是从很多篇文章中摘取的,请恕我没有一一说明摘取出处,如果没有说明,则该文章默认是摘取,如有侵犯您的权益,请与我联系,将会马上删除。
博客园    首页    新随笔    联系   管理    订阅  订阅

数据库优化点滴

原来四舍五入也有个国际惯例,叫奇进偶舍,意思是当舍入位前面一位是奇数时,就进,为偶数时,就舍,这也是体现公平性的原理。
可是国际惯例往往在国内很多企业行不通,为了应付他们的要求,采用Math.Round(price,2,MidpointRounding.AwayFromZero)就可以了。
SELECT Sum([TradeNum]), Sum([Payment]), [TradeTime],
(select sum([Payment]) from [Order] as o where [TradeStatus] =2 and o.ID=[Order].ID) as NoPayment
FROM [Order]
GROUP BY date(tradetime)
优化如下:
SELECT Sum([TradeNum]), Sum([Payment]), [TradeTime],O.NoPayment
FROM [Order] O,
(select ID,sum([Payment])NoPayment  from [Order] as o where [TradeStatus] =2 GROUP BY ID) T WHERE O.ID=T.ID
GROUP BY DATEPART(DD,tradetime) ,O.NoPayment
总结:在select 中如果需要到表中查询的话, 如果想办法把它拆分到from中来。
SQL中分布式查询用这个
BEGIN DISTRIBUTED TRANSACTION
posted @ 2011-07-18 10:24  不若相忘于江湖  阅读(210)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3