<div dir="ltr">Hi Joachim,<br><br>Nice work, any info on how to improve load speed is much appreciated.<br><br>On Thu, Oct 16, 2008 at 6:15 AM, Joachim Zobel <span dir="ltr"><<a href="mailto:jz-2008@heute-morgen.de">jz-2008@heute-morgen.de</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi.<br>
<br>
I have written a utility named scabies to load data from osm files into<br>
a mysql database. See<br>
<br>
<a href="http://www.heute-morgen.de/scabies/" target="_blank">http://www.heute-morgen.de/scabies/</a><br>
<br>
Usage is rather straightforward, but you need lots of disk space.<br>
scabies_parse.pl parses the osm file and creates files that are then<br>
loaded by scabies_load.sql with LOAD DATA INFILE. The current version<br>
only loads the current_* tables, but its easy to extend. It is early<br>
beta.<br>
<br>
The motivation for this was that osmosis is too slow with the InnoDb<br>
tables. Checking what osmosis does I found no way to incrementally<br>
improve it. Loading data can probably not be done much better as long as<br>
INSERTs are used.</blockquote><div><br>Do you have any numbers to show what sort of performance increase can be expected.  If it's significant I should add similar functionality into osmosis.  I already have something similar for the PostgreSQL schema supported by osmosis, it wouldn't be difficult to create a similar thing for MySQL.<br>
<br>The biggest problem I found wasn't the actual processing of INSERT statements, it was MySQL scaling non-linearly with the number of rows.  MyISAM tables are very fast to import regardless of number of rows, but
InnoDB seems to slow down as the number of rows increase.  I'm surprised loading with LOAD DATA INFILE fixes that.<br></div></div><br>Brett<br><br></div>