mysql - Alter Query 比数据库中任何其他比它大的表花费更多的时间
问题描述
我们的数据库中有一个表需要花费大量时间来执行查询,例如 ALTER、OPTIMIZE 等。有时普通的选择查询需要很长时间。表大小为 5GB,它是一个包含超过 2,00,000 行的小表。
kt_ticket_message | CREATE TABLE `kt_ticket_message`(
`msg_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`ticket_id` int(11) unsigned NOT NULL DEFAULT '0',
`messageId` varchar(255) DEFAULT NULL,
`pp_group` int(11) NOT NULL DEFAULT '0',
`msg_type` enum('F','M','R','AR') DEFAULT NULL COMMENT 'F: first, M: message
by client, R: reply by staff and AR: autoresponse',
`message` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
`staff_id` int(11) unsigned NOT NULL DEFAULT '0',
`staff_name` varchar(32) NOT NULL DEFAULT '',
`headers` text,
`from_email` varchar(255) NOT NULL COMMENT 'From email using header',
`to_email` varchar(255) NOT NULL COMMENT 'To email using header',
`reply_to_email` varchar(255) NOT NULL COMMENT 'Reply to using header',
`cc_email` varchar(255) NOT NULL COMMENT 'CC emails using header or as when
replied by staff',
`source` varchar(16) DEFAULT NULL,
`ip_address` varchar(64) DEFAULT NULL,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`status` tinyint(1) DEFAULT '0' COMMENT 'Use to maintain revision history of
ticket for reporting. 0 = Open, 1 = Closed, 2 = Hold',
`test` varchar(255) NOT NULL DEFAULT '0' COMMENT 'testing the alter',
`test_2` text NOT NULL COMMENT 'testing again',
PRIMARY KEY (`msg_id`),
KEY `ticket_id` (`ticket_id`),
KEY `msgId` (`messageId`),
KEY `idx_comp` (`pp_group`,`status`,`created`),
KEY `testing_idx` (`msg_id`,`ticket_id`),
FULLTEXT KEY `message` (`message`)
)
ENGINE=InnoDB AUTO_INCREMENT=279508 DEFAULT CHARSET=utf8 |
这是表结构,检查一次,看看是否能发现任何问题。问题是在运行更改或优化查询时,如果插入查询进入,则查询将在中间停止,并留下一个以 #SQL- 开头的临时文件。
到目前为止还没有解决方案,所以我只能删除数据库并再次从备份中导入。感谢您的任何建议。
解决方案
推荐阅读
- python - 如何同时使用 schedule py 和 Discord py?
- r - R 中的 PGLS 使用 caper/nlme - 非超测量树
- javascript - html5 音频播放器缓冲时卡住新请求
- html - 将美元运算符用于属性选择器时,出现“无效的属性值”错误
- r - 使用非标准评估取消嵌套许多列
- python - 使用 Django 中的按钮增加整数(模型变量或 view.py 字典值)
- docker - Docker compose 什么都不做
- android - Android - 两个带有填充颜色、描边和图标的圆形 ImageButton
- javascript - 在 iOS 版 Safari 中禁用 Scroll-Rails
- node.js - 如何在没有对象'_text'道具的情况下使用xml-js