資料庫優化點滴

2022-02-01 01:45:42 字數 757 閱讀 3894

原來四捨五入也有個國際慣例,叫奇進偶舍,意思是當捨入位前面一位是奇數時,就進,為偶數時,就舍,這也是體現公平性的原理。

可是國際慣例往往在國內很多企業行不通,為了應付他們的要求,採用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

資料庫點滴學習記錄

此部落格記錄資料庫所遇見的錯誤,之後慢慢新增 ora 00907 缺失右括號問題 1 union all中order by 導致缺失右括號 錯誤例子 select from select column a,column b from table example a order by column a...

資料庫點滴積累 游標

游標 1 盡量少用游標,如果不得不用,那就要看是否可以對邏輯進行整合,分出不同的情況,讓在一部分情況是使用insert select的方式來一次性插入 注意下例中的業務分析,這個是關鍵 2 如果儲存過程花費的時間比較長,而且無法避免使用游標,那我們就要分析系統的業務,看大部分的情況是走哪條路的,那我...

資料庫點滴積累 索引

索引 1 復合索引 where a and b 如果沒有對a和a做單一索引,查詢的時間為a 如果對a做單一索引,查詢時間為b 如果對b做單一索引,查詢時間為c 如果對a,b做復合索引,查詢時間為d,那麼時間的比較就應該是a b c d 比如spmsgreader distribute中使用where...