我有一张包含大量事件记录的表格。对于每一行,我有两列“开始日期”和“结束日期”。为了提高性能,我想开发一个chron作业,创建一个只有未来20小时的事件的迷你桌子。但是,基于当前时间的视图仅过滤特定行会更好。这可能在MySql中吗?
编辑:总是最差的视图,就性能而言,与新的小表相比是否正确?
答案 0 :(得分:4)
是的,您可以在where子句中创建引用NOW()
或CURDATE()
的视图。 e.g。
create view your_special_v as
select col1, col2, col3
from your table
where datetimecolumn >= now()
答案 1 :(得分:1)
MySQL视图不存储数据。它只是表格所需数据的表示。就像我们通过提及列的名称而不是触发来从表中检索选定的列一样,#select; from tablename;"查询检索所有列。 首先谈谈你的问题,如果你想执行cron作业,你需要存储数据。观点无法实现。所以你的答案是不,我们不能在视图上执行cron作业。但您可以在桌面上为特定条件创建活动......
此致 Iroti Mahajan imahajan@shilpasys.com