Martin Holste <mcholste@gmail.com> writes:
I'll read up on it, and probably go with supporting both LOAD DATA and HandlerSocket (after thinking a bit more about the INSERT variations, the few things I didn't like about LOAD DATA aren't that severe that would make it worth exploring the INSERT options).
Good points. LOAD DATA really is the holy grail of INSERT for both speed and universality. As I wrote earlier, just writing to /dev/shm means you don't need tmpfs on Linux.
I'll look into that, thanks, along with mysqlimport (already looking at it :). I can think of a number of ways to bypass the buffer file, but the fact that I need to find a workaround is what I didn't like at first. However, exploring the other options further... this is still the best. Also had a look at HandlerSocket in the meantime... that's an entirely different protocol, so it would probably be best to have a mysql-native (that uses libmysqlclient, and thus, LOAD DATA & whatever else the library supports), and a mysql-handlersocket type (and then we still have the original libdbi-using mysql type - fun times! I don't envy the documentation team now).
When looking at an implementation, don't forget the functionality that comes with "CONCURRENT" so that it doesn't need to lock the table or block. The manual says there is a performance hit for doing this, but I can assure you it is unnoticeable.
Oh, good to know, thanks for the hint! -- |8]