2014年1月20日 星期一

sqlcommand select 轉成 datatable 速度很慢

避免使用動態產生的欄位
select *, isnull(case when charindex(' ', 期別) > 0 then substring(期別, 1, charindex(' ', 期別)) else 期別 end, '') 學員期別 from 報到紀錄檢視 <= 很慢
select *, b.期別 from 報到紀錄檢視 a outer apply (select 學員期別(a.sid) 期別) b <= 快多了

有時 join 某個view 也會有這問題,但撈取資料很快,轉成datatable 才會變慢

推測是非實體表格欄位容易有這問題,此時盡量改用純量函數來取得複雜資料,外面再包一個 select 應該也有效果


沒有留言:

vue3-simple-alert 學習心得

官網 顯示提示輸入訊息並於按下確定時檢查是否有輸入,防止未輸入就按確定,且和按取消用不同邏輯處理 VueSimpleAlert.fire({     title: '請輸入原因',     input: 'text',     showCancel...