From 1c3f82f5dfb1735f299a77600efe7e7f6340dd17 Mon Sep 17 00:00:00 2001 From: liugang Date: Thu, 28 Aug 2025 15:43:51 +0800 Subject: [PATCH] + [perf] Add indexes to improve performance. --- db/standard/zentao21.7.5.sql | 7 +++++++ db/update21.7.4.sql | 7 +++++++ db/zentao.sql | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/db/standard/zentao21.7.5.sql b/db/standard/zentao21.7.5.sql index 162a19e27e..11922bf3a3 100644 --- a/db/standard/zentao21.7.5.sql +++ b/db/standard/zentao21.7.5.sql @@ -676,6 +676,7 @@ CREATE TABLE `zt_bug` ( KEY `assignedTo` (`assignedTo`), KEY `deleted` (`deleted`), KEY `project` (`project`), + KEY `feedback` (`feedback`), KEY `product_status_deleted` (`product`,`status`,`deleted`), KEY `idx_repo` (`repo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; @@ -1802,6 +1803,7 @@ CREATE TABLE `zt_kanbancell` ( `type` char(30) NOT NULL DEFAULT '', `cards` mediumtext, PRIMARY KEY (`id`), + KEY `lane` (`lane`), UNIQUE KEY `card_group` (`kanban`,`type`,`lane`,`column`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `zt_kanbancolumn` ( @@ -1841,6 +1843,7 @@ CREATE TABLE `zt_kanbanlane` ( `lastEditedTime` datetime DEFAULT NULL, `deleted` enum('0','1') NOT NULL DEFAULT '0', PRIMARY KEY (`id`), + KEY `execution` (`execution`), KEY `group` (`group`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `zt_kanbanregion` ( @@ -3413,6 +3416,7 @@ CREATE TABLE `zt_story` ( KEY `parent` (`parent`), KEY `product` (`product`), KEY `root` (`root`), + KEY `feedback` (`feedback`), KEY `status` (`status`), KEY `assignedTo` (`assignedTo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; @@ -3551,6 +3555,7 @@ CREATE TABLE `zt_task` ( KEY `parent` (`parent`), KEY `path` (`path`), KEY `assignedTo` (`assignedTo`), + KEY `feedback` (`feedback`), KEY `order` (`order`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `zt_taskestimate` ( @@ -3747,6 +3752,7 @@ CREATE TABLE `zt_ticket` ( `deleted` enum('0','1') NOT NULL DEFAULT '0', `subStatus` varchar(30) NOT NULL DEFAULT '', PRIMARY KEY (`id`), + KEY `feedback` (`feedback`), KEY `product` (`product`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE `zt_ticketrelation` ( @@ -3794,6 +3800,7 @@ CREATE TABLE `zt_todo` ( `vision` varchar(10) NOT NULL DEFAULT 'rnd', PRIMARY KEY (`id`), KEY `account` (`account`), + KEY `feedback` (`feedback`), KEY `assignedTo` (`assignedTo`), KEY `finishedBy` (`finishedBy`), KEY `date` (`date`) diff --git a/db/update21.7.4.sql b/db/update21.7.4.sql index aff261ffc8..66af6107d5 100644 --- a/db/update21.7.4.sql +++ b/db/update21.7.4.sql @@ -2,4 +2,11 @@ ALTER TABLE `zt_case` CHANGE `order` `order` mediumint(8) unsigned NOT NULL DEFA CREATE INDEX `parent` ON `zt_kanbancolumn`(`parent`); CREATE INDEX `group` ON `zt_kanbancolumn`(`group`); +CREATE INDEX `execution` ON `zt_kanbanlane`(`execution`); CREATE INDEX `group` ON `zt_kanbanlane`(`group`); +CREATE INDEX `lane` ON `zt_kanbancell`(`lane`); +CREATE INDEX `feedback` ON `zt_bug`(`feedback`); +CREATE INDEX `feedback` ON `zt_story`(`feedback`); +CREATE INDEX `feedback` ON `zt_task`(`feedback`); +CREATE INDEX `feedback` ON `zt_ticket`(`feedback`); +CREATE INDEX `feedback` ON `zt_todo`(`feedback`); diff --git a/db/zentao.sql b/db/zentao.sql index b24035c5ad..a7ee3f12f0 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -401,6 +401,7 @@ CREATE INDEX `deleted` ON `zt_bug`(`deleted`); CREATE INDEX `project` ON `zt_bug`(`project`); CREATE INDEX `product_status_deleted` ON `zt_bug`(`product`,`status`,`deleted`); CREATE INDEX `idx_repo` ON `zt_bug`(`repo`); +CREATE INDEX `feedback` ON `zt_bug`(`feedback`); -- DROP TABLE IF EXISTS `zt_build`; CREATE TABLE IF NOT EXISTS `zt_build` ( @@ -1217,6 +1218,7 @@ CREATE TABLE IF NOT EXISTS `zt_kanbancell` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE UNIQUE INDEX `card_group` ON `zt_kanbancell`(`kanban`,`type`,`lane`,`column`); +CREATE INDEX `lane` ON `zt_kanbancell`(`lane`); -- DROP TABLE IF EXISTS `zt_kanbangroup`; CREATE TABLE IF NOT EXISTS `zt_kanbangroup` ( @@ -1243,6 +1245,7 @@ CREATE TABLE IF NOT EXISTS `zt_kanbanlane` ( `deleted` enum('0','1') NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +CREATE INDEX `execution` ON `zt_kanbanlane`(`execution`); CREATE INDEX `group` ON `zt_kanbanlane`(`group`); -- DROP TABLE IF EXISTS `zt_kanbancolumn`; @@ -2013,6 +2016,7 @@ CREATE INDEX `product` ON `zt_story` (`product`); CREATE INDEX `root` ON `zt_story` (`root`); CREATE INDEX `status` ON `zt_story` (`status`); CREATE INDEX `assignedTo` ON `zt_story` (`assignedTo`); +CREATE INDEX `feedback` ON `zt_story` (`feedback`); -- DROP TABLE IF EXISTS `zt_storygrade`; CREATE TABLE IF NOT EXISTS `zt_storygrade` ( @@ -2145,6 +2149,7 @@ CREATE INDEX `parent` ON `zt_task` (`parent`); CREATE INDEX `path` ON `zt_task` (`path`); CREATE INDEX `assignedTo` ON `zt_task` (`assignedTo`); CREATE INDEX `order` ON `zt_task` (`order`); +CREATE INDEX `feedback` ON `zt_task` (`feedback`); -- DROP TABLE IF EXISTS `zt_taskestimate`; CREATE TABLE IF NOT EXISTS `zt_taskestimate` ( @@ -2350,6 +2355,7 @@ CREATE INDEX `account` ON `zt_todo` (`account`); CREATE INDEX `assignedTo` ON `zt_todo` (`assignedTo`); CREATE INDEX `finishedBy` ON `zt_todo` (`finishedBy`); CREATE INDEX `date` ON `zt_todo` (`date`); +CREATE INDEX `feedback` ON `zt_todo` (`feedback`); -- DROP TABLE IF EXISTS `zt_user`; CREATE TABLE IF NOT EXISTS `zt_user` ( @@ -2755,6 +2761,7 @@ CREATE TABLE IF NOT EXISTS `zt_ticket` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE INDEX `product` ON `zt_ticket` (`product`); +CREATE INDEX `feedback` ON `zt_ticket` (`feedback`); -- DROP TABLE IF EXISTS `zt_ticketsource`; CREATE TABLE IF NOT EXISTS `zt_ticketsource` (