我曾经在性能博客中读到,最好使用 PHP 的日期函数在 MySQL 查询中设置日期,而不是使用像 curdate() 这样的 mysql 日期函数,因为 mysql 可以缓存查询或结果或类似的东西。有人对此有任何见解吗?它有水分还是毫无根据?
example:
$query = 'SELECT id FROM table WHERE publish_date = \''.date('Y-m-d').'\'';
vs
$query = 'SELECT id FROM table WHERE publish_date = CURDATE()';
任何包含的函数CURDATE()
不会被缓存。Source http://dev.mysql.com/doc/refman/5.5/en/query-cache-operation.html
据我所知,对日期进行硬编码仍然应该被缓存。尽管您可能想考虑使用prepare http://php.net/manual/en/pdo.prepare.php功能而不是将字符串拼接到查询中(出于理智和安全考虑)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)