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

php – 循环中的SQL查询

发布时间:2021-05-23 22:05:13 所属栏目:编程 来源:网络整理
导读:Google代码提议您应该在轮回中停止SQL查询.缘故起因是多次来回数据库会显著减慢剧本速率.他们给出的示例查询是这样的. $userData = array();foreach ($userList as $user) { $userData[] = '("'.$user['first_name'].'","'.$user['last_name'].'")';}$query = 'I

Google代码提议您应该在轮回中停止SQL查询.缘故起因是多次来回数据库会显著减慢剧本速率.他们给出的示例查询是这样的.

$userData = array();
foreach ($userList as $user) {
     $userData[] = '("'.$user['first_name'].'","'.$user['last_name'].'")';
}
$query = 'INSERT INTO users (first_name,last_name) VALUES'.implode(',',$userData);
mysql_query($query);

我的题目是……
1.将查询保持在轮回之外有多重要,是否老是可以停止?
2.怎样行使沟通的逻辑实现SELECT语句.

也就是说我有这个题目.

$index=0;
while ($index < count($id)) {
     $result[] = mysql_query("SELECT * FROM tblInfo WHERE site_id = '".$id[$index]."' ");
     $index++;
}

如安在轮回外执行SELECT语句?我有大量的SELECT语句比这伟大得多.因此,假如以为有须要,我想从轮回中获取这些查询.假若有人赞成谷歌,请你发一些示例代码.

任何回覆将不胜谢谢.

最佳谜底 您可以将MySQL IN运算符与ID列表一路行使.

SELECT * FROM table WHERE id IN (1,4,6,8,5,6)

它乃至可以处理赏罚数千个ID的冗长列表(必定比千个SELECT更好).但在这种环境下,您还应该思量计划您的应用措施.假如你必要在每个页面加载时行使带稀有千个ID的IN,那么你的计划就会呈现题目.

INSERT也可以压缩成一个查询,拜见documentation.

凡是,轮回中的大大都查询凡是可所以rewritten as subqueries.可是在这种环境下,您必需在机能和可读性/可维护性之间举办选择.子查询凡是很难领略和优化/调试.

(编辑:湖南网)

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

    热点阅读