From 501384b0f4d985db5057f988f82394b9d7cbb00b Mon Sep 17 00:00:00 2001 From: Horst Schirmeier Date: Tue, 28 May 2013 11:37:35 +0200 Subject: [PATCH] import-/prune-trace: primary keys reordered data_address is definitely part of the unique key to trace entries, but instr2 is arbitrary (could be instr1, time1 or time2 as well). Moving data_address up the hierarchy to speed up certain FSP experiments. Change-Id: I37a1f6c1e5b3957ba2f5bf46e0cd1a9c4aa7bfef --- tools/import-trace/Importer.cc | 2 +- tools/prune-trace/Pruner.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/import-trace/Importer.cc b/tools/import-trace/Importer.cc index b47dc0e5..71c900e8 100644 --- a/tools/import-trace/Importer.cc +++ b/tools/import-trace/Importer.cc @@ -30,7 +30,7 @@ bool Importer::create_database() { " data_address int(10) unsigned NOT NULL," " width tinyint(3) unsigned NOT NULL," " accesstype enum('R','W') NOT NULL," - " PRIMARY KEY (variant_id,instr2,data_address)" + " PRIMARY KEY (variant_id,data_address,instr2)" ") engine=MyISAM "; return db->query(create_statement.c_str()); } diff --git a/tools/prune-trace/Pruner.cc b/tools/prune-trace/Pruner.cc index 286927f2..1a8ad17e 100644 --- a/tools/prune-trace/Pruner.cc +++ b/tools/prune-trace/Pruner.cc @@ -59,7 +59,7 @@ bool Pruner::create_database() { " data_address int(10) unsigned NOT NULL," " fspmethod_id int(11) NOT NULL," " PRIMARY KEY (id)," - " KEY fspmethod_id (fspmethod_id,variant_id,instr2,data_address)" + " KEY fspmethod_id (fspmethod_id,variant_id,data_address,instr2)" ") engine=MyISAM "; bool success = (bool) db->query(create_statement.c_str()); if (!success) return false; @@ -70,7 +70,7 @@ bool Pruner::create_database() { " data_address int(10) unsigned NOT NULL," " fspmethod_id int(11) NOT NULL," " pilot_id int(11) NOT NULL," - " PRIMARY KEY (variant_id, instr2, data_address, fspmethod_id, pilot_id)," + " PRIMARY KEY (variant_id, data_address, instr2, fspmethod_id, pilot_id)," " KEY joinresults (pilot_id,fspmethod_id)) engine=MyISAM"; return db->query(create_statement.c_str());