This article mainly introduces the maximum data size supported by addAll of THINKPHP. For more information, see "add ()" and "addAll ".
The code is as follows:
$ User = M ("User"); // instantiate the User object
$ Data ['name'] = 'thinkphp ';
$ Data ['email '] = 'thinkphp @ gmail.com ';
$ User-> add ($ data );
$ DataList [] = array ('name' => 'thinkphp', 'Email '=> 'thinkphp @ gamil.com ');
$ DataList [] = array ('name' => 'onethink ', 'Email' => 'onethink @ gamil.com ');
$ User-> addAll ($ dataList );
The addAll method can be used to add data in batches, that is, the usage of MySQL:
The code is as follows:
Insert into tbl_name (a, B, c) VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9 );
If the data volume is large, try to insert data in batches rather than insert data one by one in a loop. Otherwise, your database will become unusable.
However, if you take it for granted that all data is stored in an array and addAll is performed, you will also face the same situation. why?
The reason is that the configuration of the max_allowed_packet variable in mysql limits the length of the SQL statement to be uploaded. in the mysql configuration, set it to a larger value.
Max_allowed_packet = 100 M
At the same time, the length limit of batch insertion is also imposed during data insertion. after all, you do not know when the data will become millions.
The above is all the content of this article. I hope my friends will like it.