【发布时间】:2014-08-17 00:36:03
【问题描述】:
我使用 MySQL 已经有一段时间了,但我从未真正使用过支持的mathematical functions,例如FLOOR()、SQRT()、CRC32() 等。
在查询中使用这些函数是否比只在 PHP 的结果集上做同样的事情更快/更好?
编辑:我不认为这个问题与this 重复,因为我的问题是关于数学函数,列在我链接的页面上,not CONCAT() 或 NOW() 或该问题中的任何其他功能。请在标记前考虑这一点。
【问题讨论】:
-
在 MySQL 中使用函数会抑制引擎使用索引的能力,因此如果可以在查询“外部”获得派生值,则涉及对函数派生值进行比较的查询可能会执行得更好。就我个人而言,我喜欢看它——一个例外是 CONCAT 和 GROUP_CONCAT 类型的操作,我几乎总是喜欢在应用程序代码中这样做。
-
我不认为我的问题是重复的。链接的问题涉及数学以外的函数(
CONCAT、NOW()等),而我询问了我链接的文档中列出的 数学 函数。 -
我同意你的观点,@kraxor,事实上我在近距离投票审查队列中找到了这个答案,并决定不投票。相反,我回答了这个问题。 :)