From 163f1accd9e80664f8f62c7d86487417df39caf4 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sun, 27 Aug 2006 09:33:31 +0000 Subject: [PATCH] - Patch #42463: performance improvement: add index on the source field of the locale table. --- modules/locale/locale.install | 4 +++- modules/system/system.install | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/modules/locale/locale.install b/modules/locale/locale.install index dea44fe59a0..b818f1efa7e 100644 --- a/modules/locale/locale.install +++ b/modules/locale/locale.install @@ -19,7 +19,8 @@ function locale_install() { lid int NOT NULL auto_increment, location varchar(255) NOT NULL default '', source blob NOT NULL, - PRIMARY KEY (lid) + PRIMARY KEY (lid), + KEY source (source(30)) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ "); db_query("CREATE TABLE {locales_target} ( @@ -63,6 +64,7 @@ function locale_install() { db_query("CREATE INDEX {locales_target}_locale_idx ON {locales_target} (locale)"); db_query("CREATE INDEX {locales_target}_plid_idx ON {locales_target} (plid)"); db_query("CREATE INDEX {locales_target}_plural_idx ON {locales_target} (plural)"); + db_query("CREATE INDEX {locales_source}_source_idx ON {locales_source} (source)"); break; } db_query("INSERT INTO {locales_meta} (locale, name, enabled, isdefault) VALUES ('en', 'English', '1', '1')"); diff --git a/modules/system/system.install b/modules/system/system.install index b7fd920dd72..ac8aebaa00f 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -3090,6 +3090,23 @@ function system_update_1007() { return $ret; } +/** + * Performance update for queries that are related to the locale.module + */ +function system_update_1008() { + $ret = array(); + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': + $ret[] = update_sql('ALTER TABLE {locales_source} ADD KEY source (source(30))'); + break; + case 'pgsql': + $ret[] = update_sql("CREATE INDEX {locales_source}_source_idx on {locales_source} (source)"); + } + + return $ret; +} + /** * @} End of "defgroup updates-4.7-to-x.x" * The next series of updates should start at 2000.