Мне нужно создать таблицу, содержащую два атрибута: id и author . Эти два атрибута образуют составной ключ. Кроме того, мне нужно выполнить поиск по индексу в поле author .
Поэтому я создаю таблицу, используя следующую инструкцию:
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ авторы (автор VARCHAR (100) NOT NULL, id VARCHAR (200) NOT NULL, ИНДЕКС, ИСПОЛЬЗУЯ BTREE (author, id), PRIMARY KEY (author, id)) ENGINE = MYISAM;
Теперь, когда я пытаюсь вставить около 4,5 миллионов записей с использованием JDBC, скорость вставки в конце становится ужасно низкой.
Атрибут id относится к публикации, которая была создана соответствующим автором. Один автор связан с несколькими идентификаторами и наоборот. Среднее количество идентичных значений идентификаторов меньше количества идентичных значений автора.
Поэтому я протестировал ту же процедуру с замененными атрибутами. В этом случае скорость вставки остается практически постоянной.
Есть ли способ оптимизировать таблицу, чтобы повысить производительность?
Я не совсем знаю, как MYISAM управляет индексацией составных ключей. Может быть, процесс балансировки является причиной ...
Заранее спасибо!