我正在从数据库中查询数据,查询子句随天而变。换句话说,我想通过在 unix 时间戳中计算秒来以一天为单位获取数据。
所以,我为一日查询所做的是,
SELECT IDnum, Timestamp FROM table_name
WHERE CONVERT(Timestamp, UNSIGNED INTEGER) >= ($start_tim-86400*($i+1))
AND CONVERT(Timestamp, UNSIGNED INTEGER) < ($start_time-86400*$i)
因为表中的Timestamp属性是varchar(32),所以我在where子句中使用CONVERT()将其转换为int,并与86400的int类型进行比较。
到目前为止,此查询子句有效,但我设置 ini_set('max_execution_time', 300) 至少需要 5 分钟。5 分钟后,它显示“致命错误:C:\www\LineChartOne\generateJSONdata.php 第 90 行的最大执行时间超过 420 秒”,但仍未完成。
我的问题是为什么它需要这么多时间,因为我在“where 子句”中使用了函数调用?或者“where子句”有问题,否则它不应该运行那么慢。