views:

32

answers:

2

Using the Mysql multi insert statement (Inserting several records in one INSERT statement). Is there an optimal number for the number of records I can insert in one go, Or to the data size (bytes)?

+1  A: 

the limit is to the size of the row , one row query is limited ,

The server's default max_allowed_packet value is 1MB. You can increase this if the server needs to handle big queries (for example, if you are working with big BLOB columns).

u can defined it in the mysql.cnf file

the parameter is

[mysqld]
max_allowed_packet=16M

or set like

shell> mysql --max_allowed_packet=32M

link :

http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html

Haim Evgi
So, no restriction on the number of records in one bulk insert?
Itay Moav
yes ----- :) :)
Haim Evgi
Thank you :-) 123345656
Itay Moav
be aware if run it in one query , if u have a little problem in one statement , all the query fail
Haim Evgi
Are you sure? I think all the inserts until the failure are being performed.
Itay Moav
i mean if you have Error in one statement like Column count doesn't match ...
Haim Evgi
A: 

The more the merrier. It's much faster to do one massive insert, rather than various simple ones. You eliminate a lot of overhead doing massive inserts, rather than many small ones.

mhughes