mysql一次性创建大量的数据时候,会耗时特别长, 使用LOAD DATA LOCAL INFILE会大大缩减时长。当时创建一万条数据,直接添加用时10秒左右,使用LOAD DATA LOCAL INFILE几乎是一秒不到就好了。下面是当时使用的案例,记录一下,以后可能用的上。
下面是前置条件,从其他地方摘过来的:
my.ini 增加:loose-local-infile=1
执行一下:set global local_infile=1
执行:SHOW VARIABLES LIKE 'local_infile' 如果是on就行了
class Index
{
/**
* [index description]
* @return {[type]} [description]
*/
public function index()
{
$insert_data = [];
foreach ($data as $dataKey => $dataValue) {
$onceData = [
'id' => $id,
'name' => $name,
'add_time' => time(),
];
$onceData = implode(',', $onceData);
$insert_data[] = $onceData;
}
$res = $this->create_new_data($insert_data,