如何加快对mysql数据库中的大表(200k +行)进行更改?

use*_*479 -1 mysql

我在我的mysql数据库中有一个表,我经常需要更改并插入行,但是当我进行更改时它继续运行缓慢,因为有超过200k +条目.我测试了另一个表,它只有很少的行并且移动很快,所以它不是服务器或数据库本身,而是那个特别困难的表.我需要所有表的行,无法找到解决负载问题的解决方案.

DROP TABLE IF EXISTS `articles`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `articles` (
  `id` int(11) NOT NULL auto_increment,
  `content` text NOT NULL,
  `author` varchar(255) NOT NULL,
  `alias` varchar(255) NOT NULL,
  `topic` varchar(255) NOT NULL,
  `subtopics` varchar(255) NOT NULL,
  `keywords` text NOT NULL,
  `submitdate` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `date` varchar(255) NOT NULL,
  `day` varchar(255) NOT NULL,
  `month` varchar(255) NOT NULL,
  `year` varchar(255) NOT NULL,
  `time` varchar(255) NOT NULL,
  `ampm` varchar(255) NOT NULL,
  `ip` varchar(255) NOT NULL,
  `score_up` int(11) NOT NULL default '0',
  `score_down` int(11) NOT NULL default '0',
  `total_score` int(11) NOT NULL default '0',
  `approved` varchar(255) NOT NULL,
  `visible` varchar(255) NOT NULL,
  `searchable` varchar(255) NOT NULL,
  `addedby` varchar(255) NOT NULL,
  `keyword_added` varchar(255) NOT NULL,
  `topic_added` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `score_up` (`score_up`),
  KEY `score_down` (`score_down`),
  FULLTEXT KEY `SEARCH` (`content `),
  FULLTEXT KEY `asearch` (`author`),
  FULLTEXT KEY `topic` (`topic`),
  FULLTEXT KEY `keywords` (`content `,`keywords`,`topic`,`author`),
  FULLTEXT KEY `content ` (`content `,`keywords`),
  FULLTEXT KEY `new` (`keywords`),
  FULLTEXT KEY `author` (`author`)
) ENGINE=MyISAM AUTO_INCREMENT=290823 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
Run Code Online (Sandbox Code Playgroud)

Mar*_*arc 6

索引取决于:

更多索引 =更快的选择,更慢的插入

索引越少 =选择慢,插入越快

因为在插入时必须重建索引表,并且表中的数据越多,mysql重建索引的工作就越多.

所以也许你可以删除你不需要的索引,这应该加快你的插入速度.