0

我希望能够实时更新我的​​搜索索引。使用 MySQL 中的触发器最容易做到这一点。向应用程序添加代码,在数据库更新的每个地方进行更新是非常痛苦的。触发器的问题在于它们减慢了对数据库的所有更新/插入/删除。

有什么方法可以调用一个函数来在索引上运行更新(或者只是调用一个 php 脚本然后处理更新)但是异步执行此操作。它不应该阻止触发器完成。

我使用 MySQL 作为数据库,使用sphinx作为搜索服务器

4

3 回答 3

0

我建议在这里使用 gearman:

http://sphinxsearch.com/forum/view.html?id=9823

使用“后台”任务,允许它是异步的,并且不应该过多地延迟触发。

gearman 使从触发器调用 PHP 代码变得容易。

于 2012-07-16T08:51:50.703 回答
0

我不确定我是否正确理解了您的问题,但听起来像

INSERT DELAYED

http://dev.mysql.com/doc/refman/5.1/en/insert-delayed.html

UPDATE LOW_PRIORITY

http://dev.mysql.com/doc/refman/5.1/en/update.html

可能很有用,因为这些命令将数据库上的工作负载考虑在内。

于 2012-07-13T19:18:22.503 回答