PHP strtoupper()与MySQL UPPER()性能对比

PHP strtoupper()与MySQL UPPER()性能对比,php,mysql,sql,string-comparison,case-insensitive,Php,Mysql,Sql,String Comparison,Case Insensitive,使用(本例中)大写转换函数/方法对两个字符串(一个来自网页,另一个来自数据库)执行不区分大小写的比较时: 更好/更快/等等: 在将其发送到查询中进行比较之前,在PHP中执行strtoupper() 或 在查询本身中执行SQL中的UPPER() 这是否适用于PHP和MySQL之间的大多数函数/方法,或者这主要是一个孤立的情况?如果这是一个不区分大小写的比较,那么MySQL在内部已经做了lower(one)=lower(two)。所以你只能自己做mysql已经为你做的工作了。对不起,我想这让人困惑。

使用(本例中)大写转换函数/方法对两个字符串(一个来自网页,另一个来自数据库)执行不区分大小写的比较时:

更好/更快/等等:
在将其发送到查询中进行比较之前,在PHP中执行strtoupper()
在查询本身中执行SQL中的UPPER()


这是否适用于PHP和MySQL之间的大多数函数/方法,或者这主要是一个孤立的情况?

如果这是一个不区分大小写的比较,那么MySQL在内部已经做了
lower(one)=lower(two)
。所以你只能自己做mysql已经为你做的工作了。对不起,我想这让人困惑。我的意思是,我通过执行upper或lowerone来强制进行不区分大小写的比较,它的效率可能比另一个稍高一些,但是没有办法说哪一个更好-完全取决于您的主机平台、生成二进制文件涉及的库/编译器等。。。换句话说,这是一个如此微小的差异,尝试选择其中一个是毫无意义的。还有很多其他更好/更快的方法来改进您的代码库。默认情况下,mysql不区分大小写,除非您设置非CI排序规则,或强制进行
二进制
匹配。它们通常比PHP快,如果要将大写字母设置为100k行,会发生什么?