MySql表架构性能问题

时间:2014-10-23 13:27:17

标签: php mysql web pdo qsqlquery

我在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;

1 个答案:

答案 0 :(得分:0)

做一个

OPTIMIZE TABLE chronologicallists

更新索引统计信息并释放未使用的磁盘空间。