WIKI使用導航
站長百科導航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機
- cPanel
- 網(wǎng)址導航專題
- 云計算
- 微博營銷
- 虛擬主機管理系統(tǒng)
- 開放平臺
- WIKI程序與應用
- 美國十大主機
Sphinx/SQL 數(shù)據(jù)源
來自站長百科
- 連接到數(shù)據(jù)庫;
- 執(zhí)行預查詢,以便完成所有必須的初始設置,比如為MySQL連接設置編碼;
- 執(zhí)行主查詢,其返回的的數(shù)據(jù)將被索引;
- 執(zhí)行后查詢,以便完成所有必須的清理工作;
- 關閉到數(shù)據(jù)庫的連接;
- 對短語進行排序 (或者學究一點, 索引類型相關的后處理;
- 再次建立到數(shù)據(jù)庫的連接;
- 執(zhí)行后索引查詢,以便完成所有最終的清理善后工作;
- 再次關閉到數(shù)據(jù)庫的連接。
大多數(shù)參數(shù)是很直觀的,例如數(shù)據(jù)庫的用戶名、主機、密碼。不過,還有一些細節(jié)上的問題需要討論。
區(qū)段查詢
索引系統(tǒng)需要通過主查詢來獲取全部的文檔信息,一種簡單的實現(xiàn)是將整個表的數(shù)據(jù)讀入內(nèi)存,但是這可能導致整個表被鎖定并使得其他操作被阻止(例如:在MyISAM格式上的INSERT操作),同時,將浪費大量內(nèi)存用于存儲查詢結果,諸如此類的問題吧。為了避免出現(xiàn)這種情況,Sphinx支持一種被稱為區(qū)段查詢的技術. 首先,Sphinx從數(shù)據(jù)庫中取出文檔ID的最小值和最大值,將由最大值和最小值定義自然數(shù)區(qū)間分成若干份,一次獲取數(shù)據(jù),建立索引。 后查詢(sql_post) vs. 索引后查詢(sql_post_index)
后查詢和索引后查詢的區(qū)別在于,當Sphinx獲取到全部文檔數(shù)據(jù)后,立即執(zhí)行后查詢,但是構建索引的過程仍然may因為某種原因失敗。在另一方面,當索引后查詢被執(zhí)行時,可以理所當然的認為索引已經(jīng)成功構造完了。因為構造索引可能是個漫長的過程,因此對與數(shù)據(jù)庫的連接在執(zhí)行后索引操作后被關閉,在執(zhí)行索引后操作前被再次打開。