gpt4 book ai didi

php - MySQL子串/数组性能

转载 作者:行者123 更新时间:2023-11-30 23:25:20 25 4
gpt4 key购买 nike

我像这样从 MySQL 表中选择行:

SELECT id, name, code FROM table

我现在要做的是选择代码以数组中指定的字符序列开头的行。什么是最佳实践 - a) 更改 MySQL 查询并使用 SUBSTRING 和 IN,或者 b) 稍后使用 PHP 过滤行?

一)

$qsql = mysql_query("SELECT id, name, code FROM table WHERE SUBSTRING(code, 1, 2) IN ('AB', 'BA', 'ZK', ...)");
while($sql = mysql_fetch_assoc($qsql)) {
// Do something
}

或b)

$codes = array('AB', 'BA', 'ZK', ...);
$qsql = mysql_query("SELECT id, name, code FROM table");
while($sql = mysql_fetch_assoc($qsql)) {
if(!in_array($sql['code'], $codes))
continue;
// Do something
}

代码数组可能有大约 30 个元素。

最佳答案

A) 尽可能让 SQL 执行它的操作。它几乎总是比稍后处理数据更快。 SQL 非常擅长管理/过滤数据,因此尽可能使用 SQL 处理数据。

关于php - MySQL子串/数组性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13626011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com