Added index to speed up the expensive query run in Status::by_interval.

Signed-off-by: Igal Koshevoy <[email protected]>
---
 .../20100916183948_adjust_indexes_on_reports.rb    |   13 +++++++++++++
 db/schema.rb                                       |    4 ++--
 2 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 db/migrate/20100916183948_adjust_indexes_on_reports.rb

diff --git a/db/migrate/20100916183948_adjust_indexes_on_reports.rb 
b/db/migrate/20100916183948_adjust_indexes_on_reports.rb
new file mode 100644
index 0000000..8b185ca
--- /dev/null
+++ b/db/migrate/20100916183948_adjust_indexes_on_reports.rb
@@ -0,0 +1,13 @@
+class AdjustIndexesOnReports < ActiveRecord::Migration
+  def self.up
+    remove_index :reports, :time
+
+    add_index :reports, [:time, :node_id, :success]
+  end
+
+  def self.down
+    remove_index :reports, [:time, :node_id, :success]
+
+    add_index :reports, :time
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 1717d0b..e0aa526 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control 
system.
 
-ActiveRecord::Schema.define(:version => 20100909191050) do
+ActiveRecord::Schema.define(:version => 20100916183948) do
 
   create_table "assignments", :force => true do |t|
     t.integer  "node_id"
@@ -89,7 +89,7 @@ ActiveRecord::Schema.define(:version => 20100909191050) do
   end
 
   add_index "reports", ["node_id", "success"], :name => 
"index_reports_on_node_id_and_success"
-  add_index "reports", ["time"], :name => "index_reports_on_time"
+  add_index "reports", ["time", "node_id", "success"], :name => 
"index_reports_on_time_and_node_id_and_success"
 
   create_table "services", :force => true do |t|
     t.string   "name"
-- 
1.7.2.3

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to