将异步函数添加到mysql

时间:2012-07-13 18:57:12

标签: mysql sphinx

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

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

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

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分: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

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

答案 2 :(得分:0)

我建议在这里使用gearman:

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

使用'后台'任务,允许它是异步的,并且不应该延迟触发器。

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