每隔100ms读一个mysql表是否可以?

时间:2018-03-29 11:52:46

标签: mysql database polling

我制作了一个节点应用程序,它读取MySQL数据库中每100ms一个表,从另一个应用程序(lua)更新,并将结果与​​最后一个结果进行比较。如果表已更改,则应用程序将执行操作。阅读过程需要〜0.05ms,完美无缺。但现在我问自己,这是一个可接受的解决方案,或者非常不专业。

1 个答案:

答案 0 :(得分:0)

如果你只受限于数据库,我会使用两个时间戳列,如updated_atdeleted_at(索引可能 - 应该询问数据库专业人员)并将最后的读取时间存储在客户端上,然后只查询自那以后所做的更改。这样,使用数百万行的表时,它会更舒服。

除此之外,我想到,当发生更新/插入/删除/发生更新/插入/删除时,您可以使用类似websockets的内容来更新客户端。

还有关于此问题的另一个问题:

Which is more efficient to send WebSocket updates with a MySQL database change

延迟修改

您的"如果表格已更改,则应用会执行操作。"句子可能是这里的关键。您可以检查以下内容:

select count(*) from table 
where updated_at > last_update_time or deleted_at > last_update_time

然后你可以决定是否采取这种行动。