From df591c8f4032041613192e1b7836725f92ea7b10 Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Wed, 18 Feb 2009 15:14:11 +0000 Subject: #215080 by drifter and robertDouglass: Add index on system name and type to speed query. --- modules/system/system.install | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'modules/system/system.install') diff --git a/modules/system/system.install b/modules/system/system.install index 9300d758d..a584c68b3 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -1179,7 +1179,7 @@ function system_schema() { 'type' => array( 'description' => 'The type of the item, either module, theme, or theme_engine.', 'type' => 'varchar', - 'length' => 255, + 'length' => 12, 'not null' => TRUE, 'default' => '', ), @@ -1217,7 +1217,8 @@ function system_schema() { ), 'primary key' => array('filename'), 'indexes' => array( - 'modules' => array(array('type', 12), 'status', 'weight', 'filename'), + 'modules' => array('type', 'status', 'weight', 'filename'), + 'type_name' => array('type', 'name'), ), ); @@ -3212,6 +3213,18 @@ function system_update_7018() { return $ret; } +/** + * Shorten the {system}.type column and add an index on type and name. + */ +function system_update_7019() { + $ret = array(); + db_drop_index($ret, 'system', 'modules'); + db_change_field($ret, 'system', 'type', 'type', array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => '')); + db_add_index($ret, 'system', 'modules', array('type', 'status', 'weight', 'filename')); + db_add_index($ret, 'system', 'type_name', array('type', 'name')); + return $ret; +} + /** * @} End of "defgroup updates-6.x-to-7.x" * The next series of updates should start at 8000. -- cgit v1.2.3