Sphinx 索引器减慢了数据库速度:如何降低其优先级?

Sphinx 索引器减慢了数据库速度:如何降低其优先级?

我所有的表都使用 InnoDB,并且我已将 sphinx sql_range_step 设置为最小值,即 128。这大大提高了性能,但是如果您在新步骤开始后立即发出请求,速度仍然非常慢。

我确信如果我可以将范围步长减少到 10 左右,它就可以正常工作,但有人发现最小值是硬编码的,并且没有办法更改它(除了编辑源代码)。

所以我想知道是否有办法直接从 MySQL 处理这个问题。当我索引一个数据库时,其他数据库不会受到影响,所以不是整个服务器变慢了,而只是我正在索引的数据库变慢了。

有没有办法降低用户或查询的优先级,或者其他的?

答案1

看一眼这篇类似的帖子来自 StackOverflow。您可以使用这些策略来降低 sphinx 的优先级。

答案2

看一下

这个想法是在查询中插入一些代码来限制查询的执行。

为了最快的方法,您可以使用如下查询:

select <your stuff> from <your table where <your condition> and (sleep (0.1) or 1)

这将使得 sphinx 查询等待 0.1 秒才完成。

相关内容