From ff6de99ae4f353f793c95208ad6407ac59a63376 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sun, 13 Oct 2013 10:12:43 -0400 Subject: [PATCH] Some micro-optimizations --- SQL/sqlite.initial.sql | 88 +++++++++++++++++++++++--------------------- 1 files changed, 46 insertions(+), 42 deletions(-) diff --git a/SQL/sqlite.initial.sql b/SQL/sqlite.initial.sql index a3c38b9..e7f74dd 100644 --- a/SQL/sqlite.initial.sql +++ b/SQL/sqlite.initial.sql @@ -1,23 +1,6 @@ -- Roundcube Webmail initial database structure -- --- Table structure for table cache --- - -CREATE TABLE cache ( - user_id integer NOT NULL default 0, - cache_key varchar(128) NOT NULL default '', - created datetime NOT NULL default '0000-00-00 00:00:00', - data text NOT NULL -); - -CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key); -CREATE INDEX ix_cache_created ON cache(created); - - --- -------------------------------------------------------- - --- -- Table structure for table contacts and related -- @@ -57,9 +40,6 @@ CREATE INDEX ix_contactgroupmembers_contact_id ON contactgroupmembers (contact_id); - --- -------------------------------------------------------- - -- -- Table structure for table identities -- @@ -80,9 +60,7 @@ ); CREATE INDEX ix_identities_user_id ON identities(user_id, del); - - --- -------------------------------------------------------- +CREATE INDEX ix_identities_email ON identities(email, del); -- -- Table structure for table users @@ -92,7 +70,6 @@ user_id integer NOT NULL PRIMARY KEY, username varchar(128) NOT NULL default '', mail_host varchar(128) NOT NULL default '', - alias varchar(128) NOT NULL default '', created datetime NOT NULL default '0000-00-00 00:00:00', last_login datetime DEFAULT NULL, language varchar(5), @@ -100,9 +77,6 @@ ); CREATE UNIQUE INDEX ix_users_username ON users(username, mail_host); -CREATE INDEX ix_users_alias ON users(alias); - --- -------------------------------------------------------- -- -- Table structure for table session @@ -118,8 +92,6 @@ CREATE INDEX ix_session_changed ON session (changed); --- -------------------------------------------------------- - -- -- Table structure for table dictionary -- @@ -131,8 +103,6 @@ ); CREATE UNIQUE INDEX ix_dictionary_user_language ON dictionary (user_id, "language"); - --- -------------------------------------------------------- -- -- Table structure for table searches @@ -148,7 +118,34 @@ CREATE UNIQUE INDEX ix_searches_user_type_name ON searches (user_id, type, name); --- -------------------------------------------------------- +-- +-- Table structure for table cache +-- + +CREATE TABLE cache ( + user_id integer NOT NULL default 0, + cache_key varchar(128) NOT NULL default '', + created datetime NOT NULL default '0000-00-00 00:00:00', + expires datetime DEFAULT NULL, + data text NOT NULL +); + +CREATE INDEX ix_cache_user_cache_key ON cache(user_id, cache_key); +CREATE INDEX ix_cache_expires ON cache(expires); + +-- +-- Table structure for table cache_shared +-- + +CREATE TABLE cache_shared ( + cache_key varchar(255) NOT NULL, + created datetime NOT NULL default '0000-00-00 00:00:00', + expires datetime DEFAULT NULL, + data text NOT NULL +); + +CREATE INDEX ix_cache_shared_cache_key ON cache_shared(cache_key); +CREATE INDEX ix_cache_shared_expires ON cache_shared(expires); -- -- Table structure for table cache_index @@ -157,15 +154,13 @@ CREATE TABLE cache_index ( user_id integer NOT NULL, mailbox varchar(255) NOT NULL, - changed datetime NOT NULL default '0000-00-00 00:00:00', + expires datetime DEFAULT NULL, valid smallint NOT NULL DEFAULT '0', data text NOT NULL, PRIMARY KEY (user_id, mailbox) ); -CREATE INDEX ix_cache_index_changed ON cache_index (changed); - --- -------------------------------------------------------- +CREATE INDEX ix_cache_index_expires ON cache_index (expires); -- -- Table structure for table cache_thread @@ -174,14 +169,12 @@ CREATE TABLE cache_thread ( user_id integer NOT NULL, mailbox varchar(255) NOT NULL, - changed datetime NOT NULL default '0000-00-00 00:00:00', + expires datetime DEFAULT NULL, data text NOT NULL, PRIMARY KEY (user_id, mailbox) ); -CREATE INDEX ix_cache_thread_changed ON cache_thread (changed); - --- -------------------------------------------------------- +CREATE INDEX ix_cache_thread_expires ON cache_thread (expires); -- -- Table structure for table cache_messages @@ -191,10 +184,21 @@ user_id integer NOT NULL, mailbox varchar(255) NOT NULL, uid integer NOT NULL, - changed datetime NOT NULL default '0000-00-00 00:00:00', + expires datetime DEFAULT NULL, data text NOT NULL, flags integer NOT NULL DEFAULT '0', PRIMARY KEY (user_id, mailbox, uid) ); -CREATE INDEX ix_cache_messages_changed ON cache_messages (changed); +CREATE INDEX ix_cache_messages_expires ON cache_messages (expires); + +-- +-- Table structure for table system +-- + +CREATE TABLE system ( + name varchar(64) NOT NULL PRIMARY KEY, + value text NOT NULL +); + +INSERT INTO system (name, value) VALUES ('roundcube-version', '2013061000'); -- Gitblit v1.9.1