Работа с огромной таблицей MYSQL

Надеюсь, у вас все отлично. У нас есть огромная таблица mysql под названием «сообщения». Он содержит около 70 000 записей и увеличился примерно до 10 ГБ.

Мой босс говорит, что нужно что-то сделать, чтобы упростить нам работу с этой огромной таблицей, потому что что, если эта таблица будет повреждена, нам потребуется много времени, чтобы восстановить таблицу. Также временами это медленно.

Какие есть возможные решения, чтобы упростить работу с этой таблицей, как и во всех аспектах.

Структура таблицы выглядит следующим образом:

CREATE TABLE IF NOT EXISTS `posts` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `thread_id` int(11) unsigned NOT NULL,
  `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `first_post` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci,
  `publish` tinyint(1) NOT NULL,
  `deleted` tinyint(1) NOT NULL,
  `movedToWordPress` tinyint(1) NOT NULL,
  `image_src` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `video_src` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `video_image_src` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `thread_title` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
  `section_title` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
  `urlToPost` varchar(280) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `posts` int(11) DEFAULT NULL,
  `views` int(11) DEFAULT NULL,
  `forum_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `subject` varchar(150) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `visited` int(11) DEFAULT '0',
  `replicated` tinyint(4) DEFAULT '0',
  `createdOn` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `urlToPost` (`urlToPost`,`forum_name`),
  KEY `thread_id` (`thread_id`),
  KEY `publish` (`publish`),
  KEY `createdOn` (`createdOn`),
  KEY `movedToWordPress` (`movedToWordPress`),
  KEY `deleted` (`deleted`),
  KEY `forum_name` (`forum_name`),
  KEY `subject` (`subject`),
  FULLTEXT KEY `first_post` (`first_post`,`thread_title`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=78773 ;

Спасибо.

ОБНОВЛЕНО

Примечание: хотя я очень хорошо разбираюсь в ответах, но почти все ответы касались оптимизации текущей базы данных, а не того, как обычно обрабатывать большие таблицы. Хотя я могу оптимизировать базу данных на основе полученных ответов, на самом деле это не отвечает на вопрос об обработке огромных баз данных. Сейчас я говорю о 70 000 пластинок, но в течение следующих нескольких месяцев, если не недель, мы собираемся значительно вырасти. Каждая запись может иметь размер около 300 КБ.

6
задан Imran Omar Bukhsh 23 June 2011 в 09:07
поделиться