2010-08-27 73 views
1

我在我的asp.net應用程序中實現一個谷歌喜歡搜索框。該框中的每個按鍵向IIS webmethod發送一個查詢txt並返回匹配的Ajax請求 - 工作非常棒。但是,在加載活動時(例如300個用戶),我收到的錯誤是我的100 Pooled連接用完了。現在我正在重新思考,可能在每個按鍵上打開/關閉數據庫連接可能太多了。如何以不同的方式設計這種結構,或者確保連接的恢復速度非常快。我有'使用'構建連接,以確保它關閉。問題是GC可能無法快速恢復它們?Ajax請求到SQL服務器打開太多池連接

谷歌將如何處理如此大的開/關週期。

回答

0

Memecache那些擊鍵請求/數據庫響應,並避免在第一次之後每次訪問數據庫。

或者生成可能的自動完成短語,緩存內存和查詢的預編譯列表,而不是數據庫。爲什麼你需要在數據庫中查詢搜索框?生成一個可接受的列表並使用它來代替跨層連接!

或者確保您對數據庫的查詢在表上有索引。

0

您可能已經這麼做了,但在「自動完成」開始之前需要最少數量的字符以及始終檢索頂部(x)項目也符合您的最佳利益。