Php 以下哪种情况检索格式化日期更快?
我有一个DATETIME字符串,我只需要脚本中的日期就可以在数据库中执行一些搜索。目前,我脑海中有两个场景,但不知道哪一个更快 第一个场景: 在我的MYSQL数据库中,我有两列:Php 以下哪种情况检索格式化日期更快?,php,mysql,datetime,date,Php,Mysql,Datetime,Date,我有一个DATETIME字符串,我只需要脚本中的日期就可以在数据库中执行一些搜索。目前,我脑海中有两个场景,但不知道哪一个更快 第一个场景: 在我的MYSQL数据库中,我有两列:datetime(这是一种datetime类型)和date(这是一种日期类型) 然后,在我的PHP脚本中,每次保存记录时,我都会将已知字符串插入datetime字段,然后将其转换为date字段(我想的是:$date=date(“Y-m-d”,strottime($datetime))) 这样,所有必需的片段都存储在我的数
datetime
(这是一种datetime类型)和date
(这是一种日期类型)
然后,在我的PHP脚本中,每次保存记录时,我都会将已知字符串插入datetime
字段,然后将其转换为date
字段(我想的是:$date=date(“Y-m-d”,strottime($datetime))
)
这样,所有必需的片段都存储在我的数据库中,我可以动态地检索它们(包括datetime
和date
字段)
第二种情况:
MYSQL数据库应该只包含datetime
列
我的PHP脚本将把已知字符串插入datetime
字段,而无需任何其他修改
当我检索数据时,我会这样做:选择datetime,DATE(datetime)FROM…
结论
以下哪种情况更快,因此应该使用?日期格式是保存还是检索?MYSQL在格式化日期方面比PHP快吗?最好将所有内容存储在数据库中并按原样检索,还是只在检索时存储最小值和格式?以下哪种情况是最佳实践
谢谢大家! 第二种方法是最好的,而且速度最快,因为您可以根据需求获得价值。而不是获得一些价值,然后再进行工作。第二个是最好的,而且最快的,因为您可以根据需求获得价值。而不是获取一些价值,然后再进行处理。这取决于您的用例: 如果您只需要阅读
日期
,然后使用单个日期时间
列,那么从日期时间
到日期
的转换就足够便宜了
如果要在给定日期选择行(如WHERE date='2011-08-01'
),则选择date
列,因为这将允许mysql使用date
列上的索引(如果已添加)
如果要选择日期范围内的行,请选择
datetime
列。您可以执行类似的操作,其中datetime>='2011-08-01'和datetime<'2011-08-16'这取决于您的用例:
如果您只需要阅读日期
,然后使用单个日期时间
列,那么从日期时间
到日期
的转换就足够便宜了
如果要在给定日期选择行(如WHERE date='2011-08-01'
),则选择date
列,因为这将允许mysql使用date
列上的索引(如果已添加)
如果要选择日期范围内的行,请选择datetime
列。您可以执行类似以下操作:datetime>='2011-08-01'和datetime<'2011-08-16'imho
- datetime,甚至无符号整数(unix时间戳)更适合于范围筛选
- datetime allow date time函数,对于聚合函数可能很有用
- 避免来自mysql的格式化数据(即原始数据)
- 任何与演示相关的内容都是PHP的职责
- datetime,甚至无符号整数(unix时间戳)更适合于范围筛选
- datetime allow date time函数,对于聚合函数可能很有用
- 避免来自mysql的格式化数据(即原始数据)
- 任何与演示相关的内容都是PHP的职责
- imho
datetime
列,并使用检索到的datetime
在PHP中检索date
,所以,您建议我在数据库中只有datetime
列,并使用检索到的datetime
在PHP中检索date
?