<div class="gmail_quote">On Wed, Jan 20, 2010 at 11:24 PM, Simon Nuttall <span dir="ltr"><<a href="mailto:simon.nuttall@gmail.com">simon.nuttall@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On one of the CycleStreets machines it takes 17.3 hours to extract and<br>
merge data from the Britain and Ireland GeoFabrik planets using:<br>
<div class="im"><br>
osmosis -v 100 --read-xml data/osm/downloads/great_britain.osm<br>
</div>enableDateParsing=no  --sort-0.6 type="TypeThenId" --read-xml<br>
data/osm/downloads/ireland.osm enableDateParsing=no  --sort-0.6<br>
type="TypeThenId" --merge --write-apidb dbType=mysql host=localhost<br>
<div class="im">database=britainOSM user=import password=xxx validateSchemaVersion=no<br>
<br>
</div>(On our main machine the same only takes about 5 hours.)<br>
<br>
During that time it builds an 11 GB innodb file in /var/lib/mysql/ibdata1<br>
<br>
<br>
Osmosis fills the britainOSM database, which I then treat as 'read<br>
only' to build the CycleStreets routing tables in a separate database.<br>
<br>
As I'm only filling a database and then treating it as read-only do I<br>
really need all the transaction processing that is provided by innodb?<br>
Is there a way of turning those features off to speed up all the<br>
processing and use less disk space?<br></blockquote><div><br>You could possibly add populateCurrentTables=no to the --write-apidb task and use the history tables for your queries.  After a planet import they contain identical data to the current tables.  Are the history tables still MyISAM or are they InnoDB?  I haven't used MySQL for a while.  If the history tables are MyISAM and you disable current table population you should get very large performance speedups.<br>
<br>Brett<br></div></div><br>