Add indices to TKO.  These range from absolutely performance critical
indices (like tests.job_idx) to ones that might help a little bit
(kernels.printable).  This change will help mysql performance
dramatically in large installations.

Risk: Low
Visibility: Things will be faster.

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2313 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/migrations/018_add_indexes.py b/tko/migrations/018_add_indexes.py
new file mode 100644
index 0000000..2bbbfc9
--- /dev/null
+++ b/tko/migrations/018_add_indexes.py
@@ -0,0 +1,34 @@
+def migrate_up(manager):
+    manager.execute_script(CREATE_INDICES)
+
+
+def migrate_down(manager):
+    manager.execute_script(DROP_INDICES)
+
+
+CREATE_INDICES = """
+CREATE INDEX job_idx ON tests (job_idx);
+CREATE INDEX reason ON tests (reason);
+CREATE INDEX test ON tests (test);
+CREATE INDEX subdir ON tests (subdir);
+CREATE INDEX printable ON kernels (printable);
+CREATE INDEX word ON status (word);
+CREATE INDEX attribute ON test_attributes (attribute);
+CREATE INDEX value ON test_attributes (value);
+CREATE INDEX attribute ON iteration_result (attribute);
+CREATE INDEX value ON iteration_result (value);
+"""
+
+
+DROP_INDICES = """
+DROP INDEX job_idx ON tests;
+DROP INDEX reason ON tests;
+DROP INDEX test ON tests;
+DROP INDEX subdir ON tests;
+DROP INDEX printable ON kernels;
+DROP INDEX word ON status;
+DROP INDEX attribute ON test_attributes;
+DROP INDEX value ON test_attributes;
+DROP INDEX attribute ON iteration_result;
+DROP INDEX value ON iteration_result;
+"""