我在mysql数据库中有以下表格:
CREATE TABLE `chronologicallists` (
`sno` int(250) NOT NULL AUTO_INCREMENT,
`empSno` int(11) NOT NULL,
`dateOfHearing` date DEFAULT NULL,
`stageOfProceedings` text CHARACTER SET latin1,
`isDecided` tinyint(1) DEFAULT '0',
`caseSno` int(11) NOT NULL,
`isCurrent` tinyint(1) DEFAULT '1',
`isOut` tinyint(1) DEFAULT '0',
`isTransferred` tinyint(1) DEFAULT '0',
`c_position` smallint(2) DEFAULT '1',
`d_method` smallint(2) NOT NULL DEFAULT '0',
`reason_for_delay` text CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`sno`)
) ENGINE=MyISAM AUTO_INCREMENT=274926 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
这个表在过去2年多的时间里都运行良好,但是从3天开始,它一直在查询DML执行。执行3到4个DML查询后,它开始花费太多时间来执行相同的查询? 似乎有任何其他进程将自己附加到mysqld,因此mysql执行会挂起。
我在Windows 2012 Server -2 64位上使用mysql 5.6.14版。此表的总大小为:30 MB
请指导我如何改善查询效果?
简单查询示例:
select COUNT(sno) as total from chronologicallists;
答案 0 :(得分:0)
做一个
OPTIMIZE TABLE chronologicallists
更新索引统计信息并释放未使用的磁盘空间。