我有一张桌子上有很多事件的记录。对于每一行,我有两列“开始日期”和“结束日期”。为了提高性能,我想开发一个chron工作,创建一个迷你桌子,只包含接下来的20个小时的活动。但是更好的做法是,根据当前时间只过滤特定的行。这在MySql中有可能吗?
编辑:是最糟糕的视图,就性能而言,与新的小型表相比,对吗?
发布于 2017-11-30 05:59:55
是的,您可以在where子句中创建引用NOW()或CURDATE()的视图。例如:
create view your_special_v as
select col1, col2, col3
from your table
where datetimecolumn >= now()发布于 2017-11-30 06:14:09
MySQL视图不存储数据。它只是表对所需数据的表示。就像我们从表中检索选定的列一样,我们提到列的名称,而不是触发"select * from tablename;“查询来检索所有的列。说到你的问题,首先,如果你想执行cron工作,你需要存储数据。这在视图中是不可能的。所以你的回答是不,我们不能在视图上执行cron任务。但是你可以在你的桌子上为特定的情况创建事件..。
你好,Iroti Mahajan imahajan@shilpasys.com
https://stackoverflow.com/questions/47566594
复制相似问题