C_Sharp 板


LINE

有些問題魯蛇的我不太清楚,想請問鄉民。 1. 連線ID與指令ID? 資料庫連線的時候有個連線的 thread ID, 取得的時候用 MySqlConnection.ServerThread, 這在資料庫是可以觀察到的。 但是公司的前輩說, PHP內除了有連線ID可以查到之外,還有個指令的ID可以查, 是叫做Resource ID,具公司前輩說明此ID是資料庫給的。 例如我同一條連線做三次查詢,會像下面這樣, Thread ID : 11325, Rexource ID: 475 Thread ID : 11325, Rexource ID: 476 Thread ID : 11325, Rexource ID: 477 想請問C#如何可以查到指令的ID? 2. 多執行緒中的資料庫連線該如何設計? 我知道這問題很菜,但是google我查不太到, 不知道是太菜的問題還是我關鍵字找錯。 我到現在有三種設計,不過我覺得都有些問題 (1) 一個執行緒內有一條連線,open->指令->close、open->指令->close (2) 一個執行緒內有一條練限,open->指令->指令->close (3) 多個執行緒共用一條連線、用Lock,應用程式開始時open,應用程式結束close 想請各位鄉民指點我一下, 又或者有可參考的書籍。 先謝謝各位有回答的鄉民 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.117.38
※ 文章網址: http://webptt.com/m.aspx?n=bbs/C_Sharp/M.1419481758.A.36C.html
1F:推 Peruheru: 連線無所謂吧,是寫入才比較有lock的問題 12/25 13:34
2F:→ Peruheru: 多開幾條連線應該不會怎樣...吧 12/25 13:36
當多開連線時,連線過多server會將連線踢掉, 要是這時候執行指令,會導致錯誤, 如: 明明有該筆資料,select結果卻是空的,這種神奇的事情發生, 原因是select到一半就被踢掉,所以結果當然是空的。 所以當我執行緒過多=>連線過多=>怪問題一堆。
3F:推 Peruheru: 這樣阿,好吧XD 12/25 15:31
4F:推 GoalBased: 連線當然不能過多啊 不然跟被攻擊有甚麼差別 12/25 15:31
5F:→ Peruheru: 那不然這樣,就是獨立sql查詢的部分為一個執行緒 12/25 15:32
6F:→ Peruheru: 所有人的查詢動作都丟到一個池內,然後sql執行緒去執行 12/25 15:33
7F:→ Peruheru: 這樣永遠都是同一個執行緒在使用同一條連線,沒有衝突 12/25 15:33
8F:→ Peruheru: 只是變成原本sql查詢的部分變成要等待執行緒執行到他們 12/25 15:34
9F:→ Peruheru: 的查詢結果才行,每個人就領個號碼牌等叫號 12/25 15:34
10F:→ Peruheru: 就是把SQL查詢的部分獨立為一個代理的意思 12/25 15:35
11F:→ Peruheru: 可能長時間未偵測到查詢,就關閉連線,要用再開 12/25 15:36
12F:推 Peruheru: 甚至可以做出優先權高的查詢優先執行這種事 12/25 15:44
13F:→ Peruheru: 不知道這樣行不行? 12/25 15:45
基本上,作法2.(3)就已經是沒問題了,不會有「神奇的事情發生」, 但2.(3)的缺點就是要讓執行緒等…, 當開一兩條執行緒的時候還可以接受, 當開100條執行緒,一個執行緒有20個指令,大家都共用同一個連線,大家互相等, 我覺得這樣的時間耗費有點誇張。 有點左右為難
14F:推 Peruheru: 不然就像窗口一樣多開幾個窗口嘛 12/25 16:11
15F:→ Peruheru: 一個服務員處理不來,就多兩個服務員,時間就剩三分之一 12/25 16:11
感謝你的意見, 但有些想法難以在現在的程式底下進行修改, 又或者修改的幅度太大,上頭不肯接受這時間的耗費。 如果是新的程式會使用你的想法看看,謝。
16F:推 Litfal: 這得看你的多執行續是做啥、怎樣設計的。 12/25 18:07
17F:→ Litfal: 一般來說我會用(1)+Connection Pool 12/25 18:08
Thx,我會去了解 Connection Pool, 順便請問你是否可以提供一些參考方向或參考書籍? ※ 編輯: StupidGaGa (60.249.117.38), 12/26/2014 10:18:25
18F:→ Litfal: 你應該考慮控制執行續的數量,因為不是多一點執行續就會 12/26 16:59
19F:→ Litfal: 比較快,I/O bound還是在那邊,甚至還會導致塞車... 12/26 17:00







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP