gpt4 book ai didi

php - mysql中查询的长度有限制吗?

转载 作者:可可西里 更新时间:2023-11-01 06:31:32 24 4
gpt4 key购买 nike

我问这个问题是因为我需要知道这个限制,因为我在我的 PHP 脚本中生成 SELECT 查询,并且这个查询中的 WHERE 部分是在内部生成的循环。
正是它看起来像这样

 $query="SELECT field_names FROM table_name WHERE ";
$condition="metadata like \"%$uol_metadata_arr[0]%\" ";
for($i=1; $i<count($uol_metadata_arr); $i++){
$condition.=" OR metadata like \"%$uol_metadata_arr[$i]%\" ";
}
$query.=$condition;
$result=mysql_query($query);

所以,这就是为什么我需要知道我的 $query 字符串可以有多长,因为数组 $uol_metadata_arr 可能包含很多项。

最佳答案

  1. (如果可能)使用WHERE metadata IN ('value1', 'value2')
  2. 您可能需要增加 max_allowed_packet .它默认为 16MB(客户端,在旧版本中低至 1MB 服务器端),构造一个超过该限制的查询并不难(例如,使用巨大的 从其他地方导入数据插入查询)

LIKE '%string%' 是一个性能 killer 。这样的查询不能在该列上使用索引。 LIKE 'string%' 另一方面,is indexable

关于php - mysql中查询的长度有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026134/

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