回覆列表
  • 1 # 使用者566706995143

    LIKE搜尋的耗時隨著記錄數的增加而線性增長,但對於10萬行記錄以下的表(這裡共100000*50個單詞)搜尋時間基本上能保持在1秒以內,所以like搜尋的效能也不是特別差。由不同詞彙量生成的文字對LIKE搜尋的效能影響不大,不同詞彙量對應的搜尋時間基本上在一個很小的時間範圍內變化。

    FULLTEXT搜尋耗時也隨表中記錄數的增長而線性增加。對於10萬行記錄以下的表(這裡共100000*50個單詞)搜尋時間基本上能保持在0.01秒以內。由不同詞彙量生成的隨機文字對FULLTEXT搜尋效能有相對來說比較顯著的影響。每行記錄中含同樣的單詞數,這樣,較大的詞彙量傾向於生成冗餘度更低的文字,相應的搜尋耗時傾向於更少。這可能與FULLTEXT索引建立單詞索引的機制有關,較大的詞彙量傾向於生成範圍廣但相對較淺的索引,因而能快速確定文字是否匹配。

    與LIKE搜尋相比,FULLTEXT全文搜尋的效能要強很多,對於10萬行記錄的表,搜尋時間都在0.02秒以下。因此可以將基於FULLTEXT索引的文字搜尋部署於網站專案中的文字搜尋功能中。但是,正如上述提到的,無論是LIKE搜尋還是FULLTEXT搜尋,其效能都會隨著記錄數的增長而下降,因此,若網站專案中的文字搜尋資料庫記錄數龐大的一定規模後,可能需要考慮使用MySQL資料庫全文搜尋以外的文字搜尋解決方案了。

  • 中秋節和大豐收的關聯?
  • 貼春聯將“福”字倒貼,有什麼講究嗎?