summaryrefslogtreecommitdiff
path: root/database
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2005-03-23 06:12:30 +0000
committerDries Buytaert <dries@buytaert.net>2005-03-23 06:12:30 +0000
commiteb2fb414fa84d5a82049dac46b52111afb008c02 (patch)
tree0bc8c6bfd44e494da7cb45f39706d5889209ef66 /database
parenta7fa9552cada7d77bd340390c1e28d9cf9181e58 (diff)
downloadbrdo-eb2fb414fa84d5a82049dac46b52111afb008c02.tar.gz
brdo-eb2fb414fa84d5a82049dac46b52111afb008c02.tar.bz2
- Patch by Matt and chx: improved performance of taxonomy queries. When many
terms are matched, the query would become very slow.
Diffstat (limited to 'database')
-rw-r--r--database/database.mysql3
-rw-r--r--database/database.pgsql3
-rw-r--r--database/updates.inc16
3 files changed, 19 insertions, 3 deletions
diff --git a/database/database.mysql b/database/database.mysql
index f9483001f..9496a906c 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -653,7 +653,8 @@ CREATE TABLE term_node (
nid int(10) unsigned NOT NULL default '0',
tid int(10) unsigned NOT NULL default '0',
KEY nid (nid),
- KEY tid (tid)
+ KEY tid (tid),
+ PRIMARY KEY (tid,nid)
) TYPE=MyISAM;
--
diff --git a/database/database.pgsql b/database/database.pgsql
index 41665bf11..c5e33e0a3 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -649,7 +649,8 @@ CREATE INDEX term_hierarchy_parent_idx ON term_hierarchy(parent);
CREATE TABLE term_node (
nid integer NOT NULL default '0',
- tid integer NOT NULL default '0'
+ tid integer NOT NULL default '0',
+ PRIMARY KEY (tid,nid)
);
CREATE INDEX term_node_nid_idx ON term_node(nid);
CREATE INDEX term_node_tid_idx ON term_node(tid);
diff --git a/database/updates.inc b/database/updates.inc
index aa76ce719..497e8d2d1 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -103,7 +103,8 @@ $sql_updates = array(
"2005-02-11" => "update_124",
"2005-02-23" => "update_125",
"2005-03-03" => "update_126",
- "2005-03-18" => "update_127"
+ "2005-03-18" => "update_127",
+ "2005-03-21" => "update_128"
);
function update_32() {
@@ -2336,4 +2337,17 @@ function update_sql($sql) {
}
}
+function update_128() {
+ $ret = array();
+
+ if ($GLOBALS['db_type'] == 'mysql') {
+ $ret[] = update_sql('ALTER TABLE {term_node} ADD PRIMARY KEY (tid,nid)');
+ }
+ elseif ($GLOBALS['db_type'] == 'pgsql') {
+ $ret[] = update_sql('ALTER TABLE {term_node} ADD PRIMARY KEY (tid,nid)');
+ }
+
+ return $ret;
+}
+
?>