From f2204ef60495a2dce66c0900f7469d2cb4276779 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 15 Sep 2026 10:13:49 -0400 Subject: [PATCH] MT#55057 add call_info_period_sip_code_idx index Used by witnessd: MariaDB [(none)]> explain SELECT sip_code, amount FROM stats.call_info WHERE period = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 HOUR), '%Y-%m-%d %H:00:00'); +------+-------------+-----------+------+---------------+------+---------+------+------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+-----------+------+---------------+------+---------+------+------+-------------+ | 1 | SIMPLE | call_info | ALL | NULL | NULL | NULL | NULL | 1 | Using where | +------+-------------+-----------+------+---------------+------+---------+------+------+-------------+ 1 row in set (0.000 sec) Change-Id: I3e0d65434fe5d4754993f5924c8d286e76491a77 --- db_scripts/diff/15890.down | 1 + db_scripts/diff/15890.up | 1 + schema/ngcp.sql | 3 ++- schema/stats.json | 24 ++++++++++++++++++++++++ schema/stats.sql | 3 ++- 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 db_scripts/diff/15890.down create mode 100644 db_scripts/diff/15890.up diff --git a/db_scripts/diff/15890.down b/db_scripts/diff/15890.down new file mode 100644 index 00000000..3847ef0b --- /dev/null +++ b/db_scripts/diff/15890.down @@ -0,0 +1 @@ +alter table stats.call_info drop key call_info_period_sip_code_idx; diff --git a/db_scripts/diff/15890.up b/db_scripts/diff/15890.up new file mode 100644 index 00000000..d8c1e2a6 --- /dev/null +++ b/db_scripts/diff/15890.up @@ -0,0 +1 @@ +alter table stats.call_info add key call_info_period_sip_code_idx (period, sip_code); diff --git a/schema/ngcp.sql b/schema/ngcp.sql index c471ef2c..1d8daf77 100644 --- a/schema/ngcp.sql +++ b/schema/ngcp.sql @@ -25,7 +25,7 @@ CREATE TABLE `db_schema` ( PRIMARY KEY (`id`), UNIQUE KEY `rev_idx` (`revision`,`node`,`site_id`), KEY `release_idx` (`release`) -) ENGINE=InnoDB AUTO_INCREMENT=933 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; +) ENGINE=InnoDB AUTO_INCREMENT=934 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; @@ -30985,6 +30985,7 @@ INSERT INTO `db_schema` VALUES (929,15886,'spce','1970-01-01 00:00:01','trunk',1 INSERT INTO `db_schema` VALUES (930,15887,'spce','1970-01-01 00:00:01','trunk',1); INSERT INTO `db_schema` VALUES (931,15888,'spce','1970-01-01 00:00:01','trunk',1); INSERT INTO `db_schema` VALUES (932,15889,'spce','1970-01-01 00:00:01','trunk',1); +INSERT INTO `db_schema` VALUES (933,15890,'spce','1970-01-01 00:00:01','trunk',1); COMMIT; SET AUTOCOMMIT=@OLD_AUTOCOMMIT; SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, @@AUTOCOMMIT=0; diff --git a/schema/stats.json b/schema/stats.json index d579db5a..ee20e36e 100644 --- a/schema/stats.json +++ b/schema/stats.json @@ -291,6 +291,30 @@ "TABLE_NAME" : "call_info", "key_col" : "call_info/PRIMARY/1" }, + "call_info/call_info_period_sip_code_idx/1" : { + "COLLATION" : "A", + "COLUMN_NAME" : "period", + "INDEX_NAME" : "call_info_period_sip_code_idx", + "INDEX_TYPE" : "BTREE", + "NON_UNIQUE" : 1, + "NULLABLE" : "", + "SEQ_IN_INDEX" : 1, + "SUB_PART" : null, + "TABLE_NAME" : "call_info", + "key_col" : "call_info/call_info_period_sip_code_idx/1" + }, + "call_info/call_info_period_sip_code_idx/2" : { + "COLLATION" : "A", + "COLUMN_NAME" : "sip_code", + "INDEX_NAME" : "call_info_period_sip_code_idx", + "INDEX_TYPE" : "BTREE", + "NON_UNIQUE" : 1, + "NULLABLE" : "", + "SEQ_IN_INDEX" : 2, + "SUB_PART" : null, + "TABLE_NAME" : "call_info", + "key_col" : "call_info/call_info_period_sip_code_idx/2" + }, "call_info/call_info_site_sip_code_period_idx/1" : { "COLLATION" : "A", "COLUMN_NAME" : "site_id", diff --git a/schema/stats.sql b/schema/stats.sql index 7e757d9c..ad48721b 100644 --- a/schema/stats.sql +++ b/schema/stats.sql @@ -15,7 +15,8 @@ CREATE TABLE `call_info` ( `amount` int(11) unsigned NOT NULL, `site_id` int(2) unsigned DEFAULT 1, PRIMARY KEY (`id`), - UNIQUE KEY `call_info_site_sip_code_period_idx` (`site_id`,`sip_code`,`period`) + UNIQUE KEY `call_info_site_sip_code_period_idx` (`site_id`,`sip_code`,`period`), + KEY `call_info_period_sip_code_idx` (`period`,`sip_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET @saved_cs_client = @@character_set_client */;