MySQL - создание индекса занимает слишком много времени?

0

У меня есть таблица InnoDB с большим количеством полей и в настоящее время 0.7M строк. Теперь я создал 3 столбца enum и создал для них индекс (текущее значение в столбце равно null). На каждом из столбцов создание индекса заняло около 11 минут. Ожидается ли это?

Я нахожу, что запросы на таблицу тоже занимают слишком много времени. Запросы, такие как выбор нескольких столбцов из всех строк с одним значением поля (timestamp) в определенном диапазоне, занимают 2-3 минуты.

В таблице содержится около 20 полей, многие из которых являются varchar (255), некоторые из них - TEXT, некоторые целые числа и т.д.

Аппарат (VPS) имеет 512 МБ RAM и 1 ГГц cpu

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

  • 1
    512mb оперативной памяти и innodb? насколько велик ваш кеш?
  • 0
    На самом деле не знаю ... это VPS (Xen), так что я думаю, что это не может быть много (кеш процессора также будет использоваться совместно, я полагаю). Я не знал, что нельзя использовать InnoDB с 512 оперативной памятью .... как мне решить, сколько оперативной памяти мне нужно?
Теги:
performance
indexing
innodb

1 ответ

0

Используете ли вы MySQL 5.1 с плагином InnoDb? Это имеет функцию быстрого создания индекса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню