PHP大批量插入数据库的3种方法和速度对比
第一种方法:使用普通的insert into语句
这种方法是最直接的,但可能不是最高效的。代码示例如下:
```php
$params = array('value' => '50');
set_time_limit(0); // 无限时操作
echo date("H:i:s"); // 记录开始时间
for($i=0; $i<2000000; $i++){
$connect_mysql->insert($params);
}
echo date("H:i:s"); // 记录结束时间
```
```php
echo date("H:i:s"); // 记录开始时间
$connect_mysql->query('BEGIN'); // 开始事务
$params = array('value' => '50');
for($i=0; $i<2000000; $i++){
$connect_mysql->insert($params);
if($i % 100000 == 0){
$connect_mysql->query('COMMIT'); // 提交事务
$connect_mysql->query('BEGIN'); // 开始新事务
}
}
$connect_mysql->query('COMMIT'); // 提交最后一部分记录
echo date("H:i:s"); // 记录结束时间
```
第三种方法:使用优化的SQL语句进行拼接
```php
$sql= "insert into twenty_million (value) values";
for($i=0; $i<2000000; $i++){
$sql .= "('50'),"; // 拼接SQL语句
};
$sql = substr($sql, 0, strlen($sql)-1); // 去掉最后一个逗号
```
编程语言
- PHP大批量插入数据库的3种方法和速度对比
- php中trim函数实例用法
- ASP.NET基于Ajax的Enter键提交问题分析
- 解决Window10系统下Node安装报错的问题分析
- JSP页面间传值问题实例简析
- php 出现Strict Standards- Only variables should be passed b
- FSO遍历目录实现全站插马的代码
- 简析ASP.NET网站的创建与发布过程
- 在ASP.NET中插入flash代码实例
- JavaScript中用let语句声明作用域的用法讲解
- asp.net中MVC借助Iframe实现无刷新上传文件实例
- 在ASP.NET中连接SQL Server的简单方法
- JS实现文字放大效果的方法
- vue-cli 组件的导入与使用教程详解
- ASP变量加变量实现代码
- 网站中的隐形炸弹eWebEditor文件上传漏洞补丁