From 4048f7c26dffe1b7cef61d17d9a8c5e64d3299b7 Mon Sep 17 00:00:00 2001 From: Tobias Krais Date: Mon, 28 Apr 2025 12:48:33 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Mehrere=20Indizes=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/install.php b/install.php index 44c8355..4a23233 100644 --- a/install.php +++ b/install.php @@ -6,6 +6,7 @@ ->ensureColumn(new rex_sql_column('name', 'varchar(255)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['type', 'name']) + ->ensureIndex(new rex_sql_index('type', ['type'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_visits_per_day')) @@ -13,6 +14,7 @@ ->ensureColumn(new rex_sql_column('domain', 'varchar(255)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['date', 'domain']) + ->ensureIndex(new rex_sql_index('date', ['date'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_visitors_per_day')) @@ -20,6 +22,8 @@ ->ensureColumn(new rex_sql_column('domain', 'varchar(255)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['date', 'domain']) + ->ensureIndex(new rex_sql_index('date', ['date'])) + ->ensureIndex(new rex_sql_index('domain', ['domain'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_visits_per_url')) @@ -28,6 +32,8 @@ ->ensureColumn(new rex_sql_column('url', 'varchar(2048)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['hash']) + ->ensureIndex(new rex_sql_index('date', ['date'])) + ->ensureIndex(new rex_sql_index('url', ['url'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_urlstatus')) @@ -49,6 +55,7 @@ ->ensureColumn(new rex_sql_column('hash', 'varchar(255)')) ->ensureColumn(new rex_sql_column('datetime', 'datetime')) ->setPrimaryKey(['hash']) + ->ensureIndex(new rex_sql_index('datetime', ['datetime'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_referer')) @@ -58,6 +65,8 @@ ->ensureColumn(new rex_sql_column('date', 'date')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['hash']) + ->ensureIndex(new rex_sql_index('referer', ['referer'])) + ->ensureIndex(new rex_sql_index('date', ['date'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_sessionstats')) @@ -67,6 +76,7 @@ ->ensureColumn(new rex_sql_column('visitduration', 'int')) ->ensureColumn(new rex_sql_column('pagecount', 'int')) ->setPrimaryKey(['token']) + ->ensureIndex(new rex_sql_index('visitduration', ['visitduration'])) ->ensure(); // media @@ -75,6 +85,8 @@ ->ensureColumn(new rex_sql_column('date', 'date')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['url', 'date']) + ->ensureIndex(new rex_sql_index('date', ['date'])) + ->ensureIndex(new rex_sql_index('url', ['url'])) ->ensure(); @@ -84,6 +96,8 @@ ->ensureColumn(new rex_sql_column('date', 'date')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['name', 'date']) + ->ensureIndex(new rex_sql_index('name', ['name'])) + ->ensureIndex(new rex_sql_index('date', ['date'])) ->ensure(); // ip 2 geo database installation From 37ddc03f4e8428fb34ddfbf298660b778f5c3809 Mon Sep 17 00:00:00 2001 From: Tobias Krais Date: Mon, 28 Apr 2025 13:19:21 +0200 Subject: [PATCH 2/2] Indizes reduziert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wenn der Index schon an erster Stelle im Primätschlüssel steht, braucht es ihn nicht nochmals als separaten Index --- install.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/install.php b/install.php index 4a23233..78a3dc6 100644 --- a/install.php +++ b/install.php @@ -6,7 +6,6 @@ ->ensureColumn(new rex_sql_column('name', 'varchar(255)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['type', 'name']) - ->ensureIndex(new rex_sql_index('type', ['type'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_visits_per_day')) @@ -14,7 +13,7 @@ ->ensureColumn(new rex_sql_column('domain', 'varchar(255)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['date', 'domain']) - ->ensureIndex(new rex_sql_index('date', ['date'])) + ->ensureIndex(new rex_sql_index('domain', ['domain'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_visitors_per_day')) @@ -22,7 +21,6 @@ ->ensureColumn(new rex_sql_column('domain', 'varchar(255)')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['date', 'domain']) - ->ensureIndex(new rex_sql_index('date', ['date'])) ->ensureIndex(new rex_sql_index('domain', ['domain'])) ->ensure(); @@ -41,6 +39,7 @@ ->ensureColumn(new rex_sql_column('url', 'varchar(2048)')) ->ensureColumn(new rex_sql_column('status', 'varchar(255)')) ->setPrimaryKey(['hash']) + ->ensureIndex(new rex_sql_index('url', ['url'])) ->ensure(); rex_sql_table::get(rex::getTable('pagestats_bot')) @@ -86,7 +85,6 @@ ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['url', 'date']) ->ensureIndex(new rex_sql_index('date', ['date'])) - ->ensureIndex(new rex_sql_index('url', ['url'])) ->ensure(); @@ -96,7 +94,6 @@ ->ensureColumn(new rex_sql_column('date', 'date')) ->ensureColumn(new rex_sql_column('count', 'int')) ->setPrimaryKey(['name', 'date']) - ->ensureIndex(new rex_sql_index('name', ['name'])) ->ensureIndex(new rex_sql_index('date', ['date'])) ->ensure();