Heim >Backend-Entwicklung >PHP-Tutorial >crontab执行后台任务怎么避免全表扫描

crontab执行后台任务怎么避免全表扫描

WBOY
WBOYOriginal
2016-06-23 13:32:221032Durchsuche

补充: 我有一个任务表,task表,表中有字段,预期完成时间(complete_time),任务反馈内容(feedback)。
         现在有一需求,定时扫描表,如果任务没有反馈信息并且距离预期完成时间有一天、一个小时、一分钟的时候,向任务执行人发送一个消息。
我现在的做法是,crontab执行任务,一个小时扫描一次表,只是觉得每次都要全表扫,效率不高,有什么办法不需要进行全表吗?
在线等。


回复讨论(解决方案)

来个人为我指点一二。不胜感激。

你用一个容器记录下上次扫描后的位置
下次就从这个位置开始扫描

你用一个容器记录下上次扫描后的位置
下次就从这个位置开始扫描


可是我需要做成,每次都要扫描那个记录的。 并不是这次记录后,下次就不去找之前的记录了。

不是你自己要 避免全表扫描的吗?出尔反尔?
你要扫哪些记录,不是由你自己决定的吗?
你要是不知道扫描范围,那怎么能不全表扫描?

目前的做法是,把需要提醒的任务生成一个新的提醒表。
这个做法结合版主说的加一个容器就可以避免全表扫描了。

不是你自己要 避免全表扫描的吗?出尔反尔?
你要扫哪些记录,不是由你自己决定的吗?
你要是不知道扫描范围,那怎么能不全表扫描?



目前的做法是,把需要提醒的任务生成一个新的提醒表。
这个做法结合版主说的加一个容器就可以避免全表扫描了。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn