Mysql

innodb_ft_result_cache_limit 如何工作?

  • December 13, 2016

引用 MariaDB 文件

描述:每個全文查詢的 InnoDB FULLTEXT 索引查詢結果記憶體的字節數限制。全文搜尋的後期階段在記憶體中處理,限制這一點可防止過多的記憶體使用。如果超出限制,查詢將返回錯誤。

預設值:2000000000

我想知道例如兩個查詢是否並行執行 FTS 查詢,MySQL 為每個查詢分配大約 1907MB(如果查詢需要)?

因為我們有很多 FTS 查詢,而且都是複雜的查詢,這導致 RAM 的使用越來越多。

更新 1

這是我們的一個查詢:

select id,title,content,time,c_count,agency_name
   from news join agency use(id)
   where time >= '2016-10-01 00:00:00'
     and time <  '2016-11-01 00:00:00'
     and match("content") against('+("Hello" "Hi" "Hey")+("World" "All" "guys")'
           in boolean mode)
   order by c_count desc

我寫了一個錯誤報告來抱怨該設置的預設值。

引用自:https://dba.stackexchange.com/questions/157462