php – 快速将虚拟数据插入mysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 快速将虚拟数据插入mysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1546字,纯文字阅读大概需要3分钟。
内容图文
![php – 快速将虚拟数据插入mysql](/upload/InfoBanner/zyjiaocheng/907/e2d1e38804c942d0bae0796148e379fc.jpg)
我在我的调试模型中有1个功能,我想使用它来为我的应用程序添加虚拟数据以测试其速度等…
问题是它需要将记录添加到2个不同的表中,并在每个记录添加到db之前检查重复的用户名等,这样需要一点时间……
此过程重复约$$想要在for循环中一次添加的不同虚拟记录…
例如,对于我要添加的100个新用户,大约需要5秒钟才能继续.
这次还好还是我需要优化它?
如果我想一次添加1000,10000个用户怎么办?可能吗?
编辑:
调用函数插入数据:
public function registerRandomUsers($total = 1){
$this->load->model("misc_model");
$this->load->model("encryption_model");
$this->load->model("signup_model");
for ($i=1;$i<=$total;$i++){
$username = $this->misc_model->generateRandomString(15);
$flag = false;
while ($flag == false){
if ($this->user_model->usernameExist($username)){
$username = $this->misc_model->generateRandomString(15);
}else{
$flag = true;
$password = 'Test123';
$email = $username.'@email.com';
$data = array(
'username' => $username,
'password' => $password,
'email' => $email
);
$this->signup_model->submitRegistration($data);
$userdata = $this->user_model->getUserData($username, "username");
}
}
}
}
解决方法:
如果您不担心随机字符串作为用户名,只需设置$email =’user’.$i.’@email.com’; (所以你不必担心碰撞).这将导致运行缓慢的主要原因是因为您在循环的每次迭代中向数据库发送新查询 – 生成批量插入字符串会快得多:
INSERT INTO user (email,pass)
VALUES ('user1@email.com','Test123')
, ('user2@email.com','Test123')
, ('user3@email.com','Test123')
, ('user4@email.com','Test123')
, ('user5@email.com','Test123');
这样,您可以避免tcp流量从发送10000个查询到数据库的开销,并让它一次完成所有操作.
内容总结
以上是互联网集市为您收集整理的php – 快速将虚拟数据插入mysql全部内容,希望文章能够帮你解决php – 快速将虚拟数据插入mysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。