Mysql – how innodb_ft_result_cache_limit work

full-text-searchMySQLmysql-5.6

Quote from MariaDB Documents

Description: Limit in bytes of the InnoDB FULLTEXT index query result cache per fulltext query. The latter stages of the full-text search are handled in memory, and limiting this prevents excess memory usage. If the limit is exceeded, the query returns an error.

Default: 2000000000

I want to know if for example both queries run FTS query in parallel, MySQL Allocate about 1907MB to per query (if query wants) ?

Because we have to many FTS query and all are complex query which lead to growing use of RAM.

Update 1

This is one our query:

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

Best Answer

I wrote a bug report to complain about the default value of that setting.