目前用的技術要請求服務器資料的,每打一次要運算一次,輸入很不方便,加了延遲運算,但不是長久之道,有沒有更好的辦法或技術?
uj5u.com熱心網友回復:
下載到本地,在客戶端搜索uj5u.com熱心網友回復:
LS。。。這不是辦法吧,baidu\google人家這些海量資料搜索都是飛快,這個跟客戶端這邊沒太多關系,得從資料庫方面著手,給常搜索的關鍵字做索引什么的, 俺對資料庫不熟,最好去sql版問。
uj5u.com熱心網友回復:
謝謝3L!!!uj5u.com熱心網友回復:
服務端做個介面,快取常用資料。用戶多操作頻繁的話,做少許本地快取可以降低服務器壓力,畢竟一般企業不可能象google baidu那樣燒錢做服務器的。只用資料庫,沒做服務端的話,速度快不到哪去。資料庫做好索引,資料量太大的話,把常用資料另做一個表。
網速,如果通過Internet 連接的話,租用主機做服務器直接接入Internet才好。局域網的話,超過50用戶最好能上千兆網。
uj5u.com熱心網友回復:
嗯嗯,說實在的,的確是,當資料量很大的時候,網路就顯得特別的重要。uj5u.com熱心網友回復:
百度他們那些跟你的情況不大相同, 人家那個只是顯示最近相關的熱門的內容,顯示出來的不外也就是最匹配的10來個話題. 他們要求的不是準確的資料,只是相關的話題.而你要做的是要反映資料庫中與你輸入的內容相匹配的所有集合.當資料量大的時候肯定是慢的.
覺得你在OnChange中對輸入內容判斷,如果是前幾個字符的才從服務器選取資料下到當地,也不要第一第二個字符就動作,等到第三個字或者之后才動作.之后的就在當地的資料集中Filter.
試試看有沒有效果?
uj5u.com熱心網友回復:
每次都是直接從服務器表中搜索速度肯定是會有問題的,如果大量資料想做搜索提示。最好有服務段程式,服務端必須做關鍵資料的快取,Memory cache,由服務端根據快取中的搜索結果回傳。另外樓上說的,本地的位元組處理策略也要考慮。
uj5u.com熱心網友回復:
執行一次查詢的話資料庫應該會自動優化查詢的吧下拉匹配正常的情況是在第一次點擊下拉時檢查串列是否為空,不為空的話執行查詢載入資料。
在用戶點出下拉串列,然后輸入資料,這么短時間內的資料庫更新可以忽略的吧
因為是在點出下拉串列時執行的查詢,因此不會出現輸入時執行查詢的情況,速度也應該是可以接受的吧
uj5u.com熱心網友回復:
總結起來就是,只在點出下拉選單時執行一次查詢更新下拉串列中的資料,因為所有不重復的資料都被載入串列,所以由編輯框自己來匹配就完全可以了比如,如果編輯框是ComboBox的話:
void __fastcall TForm1::ComboBox1DropDown(TObject *Sender)
{
((TComboBox *)Sender)->Items->Clear(); // 清空ComboBox控制元件
// 寫入資料的陳述句
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/131719.html
標籤:數據庫及相關技術
上一篇:十六大Python面試題!看完面試官給了我40K的薪資
下一篇:讀取hdf資料疑問
