加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – mysql中的查询长度是否有限制?

发布时间:2020-12-13 18:23:34 所属栏目:PHP教程 来源:网络整理
导读:我问这个问题是因为我需要知道这个限制,因为我在我的 PHP脚本中生成了SELECT查询,并且在查询中WHERE的一部分是在循环内部生成的.确切地说,它看起来像这样 $query="SELECT field_names FROM table_name WHERE "; $condition="metadata like "%$uol_metadata_
我问这个问题是因为我需要知道这个限制,因为我在我的 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);

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

>(如果可能)使用WHERE元数据IN(‘value1′,’value2’)
>您可能需要增加 max_allowed_packet.它默认为16MB(客户端,在旧版本中低至1MB服务器端),并且构建一个超出该限制的查询并不困难(例如,导入数据)来自其他地方的巨型INSERT查询)

LIKE’%string%’是一个性能杀手.此类查询无法在该列上使用索引.另一方面,像’字符串%’,is indexable

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读