我有一个大型数据集(超过十亿行).数据按日期在数据库中分区.因此,我的查询工具必须在每个查询中指定一个SQL between子句,否则它将必须扫描每个分区..而且,它会在它返回之前超时.
所以..我的问题是,分区数据库中的字段是一个日期..
使用CakePHP,如何在表单中指定"之间"日期?
我正在考虑在表单中执行"start_date"和"end_date",但这可能会给我带来两个问题..如何在链接到表的模型中验证?
我正在构建一个小型Web应用程序,让用户可以预订办公室房间和设备.对于预订,他们输入开始日期和结束日期.
当用户试图找出2012-10-23中是否有任何(例如)汽车可用时,并且数据库保存了Start:2012-10-20和End:的预订日期记录(2012-10-25for say)所有汽车,我如何包括所有汽车我在搜索中的日期条目之间的日期?
该$date变量得到它的从日期搜索表单域值.
不幸的是,这不起作用,我无法弄清楚如何使用daysAsSql进行此查询:
$conditions = array(
'conditions' => array(
'? BETWEEN ? AND ?' => array($date,'Equipment.date_start','Equipment.date_end'),
)));
$this->set('equipments', $this->Equipment->find('all', $conditions));
Run Code Online (Sandbox Code Playgroud)