+ [perf] Add indexes to improve performance.

This commit is contained in:
liugang
2025-08-28 15:43:51 +08:00
parent 82db606bb8
commit 1c3f82f5df
3 changed files with 21 additions and 0 deletions
+7
View File
@@ -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`)
+7
View File
@@ -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`);
+7
View File
@@ -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` (