大伙帮忙看看,为什么这个表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引擎