From 23b76563dcc2542cff9f447e809462472cfccd88 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 29 Sep 2009 03:59:25 -0400
Subject: [PATCH] - use better index for contacts table

---
 SQL/sqlite.update.sql    |    2 ++
 SQL/postgres.update.sql  |    2 ++
 SQL/mysql.update.sql     |    3 +++
 SQL/postgres.initial.sql |    2 +-
 SQL/mysql.initial.sql    |    1 +
 SQL/sqlite.initial.sql   |    2 +-
 6 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/SQL/mysql.initial.sql b/SQL/mysql.initial.sql
index 1bc8884..f814547 100644
--- a/SQL/mysql.initial.sql
+++ b/SQL/mysql.initial.sql
@@ -95,6 +95,7 @@
  `vcard` text NULL,
  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
  PRIMARY KEY(`contact_id`),
+ INDEX `user_contacts_index` (`user_id`,`email`),
  CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
    REFERENCES `users`(`user_id`)
    /*!40008
diff --git a/SQL/mysql.update.sql b/SQL/mysql.update.sql
index 729fd3c..77bf317 100644
--- a/SQL/mysql.update.sql
+++ b/SQL/mysql.update.sql
@@ -54,3 +54,6 @@
 
 ALTER TABLE `session` 
     CHANGE `vars` `vars` MEDIUMTEXT NOT NULL;
+
+ALTER TABLE `contacts`
+    ADD INDEX `user_contacts_index` (`user_id`,`email`);
diff --git a/SQL/postgres.initial.sql b/SQL/postgres.initial.sql
index f07ca30..a52a01f 100644
--- a/SQL/postgres.initial.sql
+++ b/SQL/postgres.initial.sql
@@ -110,7 +110,7 @@
     vcard text
 );
 
-CREATE INDEX contacts_user_id_idx ON contacts (user_id);
+CREATE INDEX contacts_user_id_idx ON contacts (user_id, email);
 
 --
 -- Sequence "cache_ids"
diff --git a/SQL/postgres.update.sql b/SQL/postgres.update.sql
index fe88a6d..e343dd4 100644
--- a/SQL/postgres.update.sql
+++ b/SQL/postgres.update.sql
@@ -41,3 +41,5 @@
 
 CREATE INDEX messages_index_idx ON messages (user_id, cache_key, idx);
 TRUNCATE messages;
+DROP INDEX contacts_user_id_idx;
+CREATE INDEX contacts_user_id_idx ON contacts (user_id, email);
diff --git a/SQL/sqlite.initial.sql b/SQL/sqlite.initial.sql
index 2395cfd..cccad7a 100644
--- a/SQL/sqlite.initial.sql
+++ b/SQL/sqlite.initial.sql
@@ -34,7 +34,7 @@
   vcard text NOT NULL default ''
 );
 
-CREATE INDEX ix_contacts_user_id ON contacts(user_id);
+CREATE INDEX ix_contacts_user_id ON contacts(user_id, email);
 
 -- --------------------------------------------------------
 
diff --git a/SQL/sqlite.update.sql b/SQL/sqlite.update.sql
index 4b1b10b..09af76f 100644
--- a/SQL/sqlite.update.sql
+++ b/SQL/sqlite.update.sql
@@ -41,3 +41,5 @@
 CREATE UNIQUE INDEX ix_messages_user_cache_uid ON messages (user_id,cache_key,uid);
 CREATE INDEX ix_messages_index ON messages (user_id,cache_key,idx);
 TRUNCATE messages;
+DROP INDEX ix_contacts_user_id;
+CREATE INDEX ix_contacts_user_id ON contacts(user_id, email);

--
Gitblit v1.9.1