2012-07-17 86 views
0

我想弄清楚使用不同數量的數據庫用戶訪問數據庫的優點和缺點。
是否有反對使用僅1 mysql用戶喜歡MySQL數據庫性能基於useramount

new MySqlConnection("SERVER=localhost;DATABASE=db;UID=alwaysthesameuser;PASSWORD=1234;") 

,或者它會更好地使用更多的用戶任何參數?

該應用程序將被多達100個用戶(誰正在處理客戶)同時使用。所有查詢都在服務器上完成。

有什麼我不得不考慮哪些可能會產生問題?

回答

1

作爲經驗法則來擴展數據庫連接建立連接池。使用同一個用戶。我們稱之爲應用程序用戶。在面向性能的數據庫應用程序中,連接池是必須的。

這當然假設您正在使用n層模型。從你的帖子來看,你似乎有一個n層模型。如果不確定,Google將如何在.net中設置連接池,但從我的理解來看,這是微不足道的。

+0

+1 Namphibian的答案是正確的。 – spencer7593 2012-07-17 18:13:39

1

使用單個「應用程序用戶」數據庫帳戶而不是大量用戶帳戶可以獲得更好的性能。

最大的優點是您可以使用連接池,並且可以共享連接。有了很多獨立的帳戶,您需要大量的連接池,每個用戶帳戶一個。你想要避免的是「連接攪動」,即反覆連接和斷開數據庫,這限制了性能和可伸縮性。

還有一個管理優勢(至少在數據庫方面),因爲您不必創建/鎖定/放棄帳戶和授予/撤銷特權。不知道在mysql.usermysql.db等表格中有多少行有很多行,但我認爲不太可能有很多行會加快速度。

+0

斯賓塞說的是100%正確的。 – Namphibian 2012-07-17 18:09:52