推 jimmy701010:以上兩點都正確 08/24 23:48
→ bernachom:請教一下,如果是靜態字串的話,那把字串拆開相加,還會 08/25 00:04
→ bernachom:比不拆開來得快嗎? 08/25 00:04
→ bernachom:就像是我第一個和第二個SQL寫得這個樣子~ 08/25 00:04
→ bernachom:第一個都不拆的話,照理說不是應該比不拆開來的快嗎? 08/25 00:05
首先,這個問題你google stringbuilder就會有答案。
再來,我想程式執行的快慢,在SQL Statement並不會因為你將字串怎麼拆怎麼接會有
明顯差異,因為一切都跟『記憶體』有關。
以前受饋於版上眾位熱心人士.... 我將解答PO在下面好了
動態字串操作時,會產生很多不必要的記憶體,如下:
string a = "SELECT *"
a = a + " FROM TEST"
記憶體實際上 為了這個操作 NEW了2~3個參考 所以才會推薦你動態字串都用string
builder
再來你這邊屬於靜態字串操作,但是字串如何操作,與SQL的運作無關,畢竟字串組
一組後會送到SERVER作編譯動作,重點是在SQL語法方面。
如果您指的是系統的效率的話,我想字串會這樣拆主要是為了維護方便,至於效能..
我想人體是不會查覺得出來。
※ 編輯: MacPerson 來自: 111.246.72.136 (08/25 00:13)
※ 編輯: MacPerson 來自: 111.246.72.136 (08/25 00:29)
※ 編輯: MacPerson 來自: 111.246.72.136 (08/25 00:30)
→ bernachom:最後四行,點出我的問題了,我正在想說,為什麼我看大家 08/25 00:35
→ bernachom:都拆開,原因應該是維護方便 08/25 00:36
→ bernachom:謝謝您的熱心幫忙 :) 08/25 00:36
→ Litfal:單指.net用SQL的話,不要再自己串查詢字串了..EF、Linq都好 08/26 16:25
→ Litfal:真要用ADO.NET的話,用Parameter也好..... 08/26 16:26
→ a926:組SQL字串 太容易有Injection攻擊了 可以考慮L大的方式 08/27 11:15
→ bernachom:謝謝指導:) 這幾個月才開始學而已,感謝幫忙(筆記) 08/27 20:32