我只是想知道使用 PHP 的 Soundex 函数还是 MySQL 的 Soundex 函数会更好?
PHP 和 MySQL Soundex 函数是否也产生相同的结果?
这是 Web 应用程序设计中的一个古老争论。这一切都取决于。有些人喜欢只将业务逻辑存储在 PHP 代码中,只使用数据库进行存储。其他人说 PHP 所需的开销在大规模 CRUD 操作上不值得。这真的归结为偏好。
我倾向于将尽可能多的计算传递给 SQL 引擎,因为 SQL 中的本机函数比获取数据集并在 PHP 中产生相同的结果更快。这尤其适用于本机功能,将业务逻辑转移到它可能不是一个好主意,因为它将变得更加难以管理、调试或扩展。
Re: PHP 和 MySQL Soundex 函数也产生相同的结果吗?
不,他们不 MySQL soundex 更宽松,因此我建议使用 php,例如:
<?php
echo soundex('pilchick')."\n";
echo soundex('polack')."\n";
?>
退货
P422
P420
因此,当您搜索 where soundex(Lname) = Soundex('pilchick') 时,您不会得到与 MySQL 相比好的波拉克
Select Soundex('pilchick'), Soundex('polack') From table
结果 =
------------------------------------------
|Soundex('pilchick') | Soundex('polack')
----------------------------------------
|P420 | P420
----------------------------------------
它们都返回相同的值