日期:2014-05-16  浏览次数:20746 次

大伙帮忙看看,为什么这个表4万多条记录就有点慢了
CREATE TABLE IF NOT EXISTS `jx_article` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `catid` smallint(6) unsigned NOT NULL DEFAULT '0',
  `title` varchar(140) NOT NULL DEFAULT '',
  `color` char(7) NOT NULL DEFAULT '',
  `description` text NOT NULL,
  `keywords` varchar(100) NOT NULL DEFAULT '',
  `author` varchar(50) NOT NULL DEFAULT '',
  `authoremail` varchar(50) NOT NULL DEFAULT '',
  `copyfromname` varchar(100) NOT NULL DEFAULT '',
  `copyfromurl` varchar(100) NOT NULL DEFAULT '',
  `content` mediumtext NOT NULL,
  `hits` int(10) unsigned NOT NULL DEFAULT '0',
  `defaultpicurl` varchar(100) NOT NULL DEFAULT '',
  `linkurl` varchar(100) NOT NULL DEFAULT '',
  `userid` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `username` char(30) NOT NULL,
  `userip` char(15) NOT NULL,
  `addtime` int(10) unsigned NOT NULL DEFAULT '0',
  `updatetime` int(10) unsigned NOT NULL DEFAULT '0',
  `checker` char(30) NOT NULL,
  `checktime` int(10) unsigned NOT NULL DEFAULT '0',
  `passed` tinyint(1) NOT NULL DEFAULT '0',
  `headline` tinyint(1) NOT NULL DEFAULT '0',
  `ontop` tinyint(1) NOT NULL DEFAULT '0',
  `elite` tinyint(1) NOT NULL DEFAULT '0',
  `recycle` tinyint(1) NOT NULL DEFAULT '0',
  `adflag` tinyint(1) NOT NULL DEFAULT '0',
  `uncmt` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `passed` (`passed`) USING BTREE,
  KEY `title` (`title`) USING BTREE,
  KEY `recycle` (`recycle`) USING BTREE,
  KEY `catid` (`catid`) USING BTREE,
  KEY `headline` (`headline`),
  KEY `elite` (`elite`),
  FULLTEXT KEY `content` (`content`),
  FULLTEXT KEY `keywords` (`keywords`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

大家帮忙看看,这个表有什么可以优化的,4万多条记录的时候,进入后台文章管理,有时候会出现超时,备份数据很快,但还原数据很慢,为了转移服务器,后来我用 Navicat for MySQL同步数据才完成。

------解决方案--------------------
这么多单字段索引,可以建一两个复合索引试试
------解决方案--------------------
你的查询语句是什么? EXPLAIN SELECT 。。。。 贴出来分析一下。
------解决方案--------------------
索引太多 更新锁表 改成innodb引擎