From 1a9afdbdbd6c53964ff7ef76a0919351cf48746b Mon Sep 17 00:00:00 2001 From: lherschi Date: Sun, 23 Mar 2025 19:30:19 +0100 Subject: [PATCH 1/2] split statement into three for better index utilisation --- resources/lib/storeQuery.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/resources/lib/storeQuery.py b/resources/lib/storeQuery.py index bc5aadb..5608df6 100644 --- a/resources/lib/storeQuery.py +++ b/resources/lib/storeQuery.py @@ -480,10 +480,12 @@ def get_status(self): status['filmUpdate'] = result[0][3] status['version'] = result[0][4] # - result = self.execute('SELECT count(distinct(channel)),count(distinct(showid)),count(*) FROM film') + result = self.execute('SELECT count(distinct(channel)) FROM film') status['chn'] = result[0][0] - status['shw'] = result[0][1] - status['mov'] = result[0][2] + result = self.execute('SELECT count(distinct(showid)) FROM film') + status['shw'] = result[0][0] + result = self.execute('SELECT count(*) FROM film') + status['mov'] = result[0][0] # self.settings.setDatabaseStatus(status['status']) self.settings.setLastUpdate(status['lastUpdate']) From 6062ed31fc66ffab177a0c99fe03db8034fe09c4 Mon Sep 17 00:00:00 2001 From: lherschi Date: Sun, 23 Mar 2025 19:48:34 +0100 Subject: [PATCH 2/2] add two indexes --- resources/lib/storeMySqlSetup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/lib/storeMySqlSetup.py b/resources/lib/storeMySqlSetup.py index 0be44c6..a23e1d7 100644 --- a/resources/lib/storeMySqlSetup.py +++ b/resources/lib/storeMySqlSetup.py @@ -50,6 +50,8 @@ def __init__(self, dbCon): ) ENGINE=InnoDB CHARSET=utf8mb4; -- CREATE INDEX idx_idhash ON film (idhash); +CREATE INDEX idx_channel ON film (channel); +CREATE INDEX idx_showid ON film (showid); -- ---------------------------- -- Table structure for status -- ----------------------------