import-trace: major speedup

Using Database::insert_multiple() instead of prepared statements
speeds up trace import by a factor of 3-4.  While being there, we now
properly deal with nonexistent extended trace values (i.e., put NULLs
into the DB).

Side note: The ElfImporter should switch to insert_multiple(), too.

Change-Id: I96785e9775e3ef4f242fd50720d5c34adb4e88a1
This commit is contained in:
Horst Schirmeier
2014-02-17 11:28:33 +01:00
parent 76bda55c5e
commit 1df43e9726
5 changed files with 66 additions and 100 deletions

View File

@ -105,7 +105,7 @@ bool Database::insert_multiple(char const *insertquery, char const *values)
m_insertquery_values.push_back(values);
}
if ((!values && m_insertquery_values.size() > 0) || m_insertquery_values.size() >= 32) {
if ((!values && m_insertquery_values.size() > 0) || m_insertquery_values.size() >= 2048) {
std::stringstream sql;
sql << m_insertquery;
bool first = true;