2012-01-15 4 views
0

Моя база данных имеет 2 основные таблицы:Оптимизировать производительность обновления MySql/есть ли рекомендуемое количество строк в таблице?

  1. ~ 43,258 строки InnoDB utf8_unicode_ci 5,5 MiB
  2. строки InnoDB utf8_unicode_ci 14,5 MiB

Каждый день Есть 10000 строки, добавленные в таблицу1, и 1000 строк, добавленных в таблицу2.

Какова рекомендация по количеству строк в таблице (для обеих таблиц обратите внимание на то, что моя вторая таблица имеет строки размером 3,3 тыс.)?

Я хочу оптимизировать производительность при обновлении строки или выполнении запроса.

Кроме того, что является рекомендуемым способом резервного копирования моих таблиц?

+0

1,2 миллиарда строк 0,02 secs runtime - достаточно быстро? Http: // StackOverflow.ком/вопросы/4419499/MySQL-NoSQL-помощь-я-к-выбрать-заместитель правой один-на-а/4421601 # 4421601 –

ответ

0
  • нет никаких рекомендаций по количеству строк, у нас есть несколько таблиц с 30M + строками
  • Если вы не используете транзакции при хранении или обновлении таблиц, переключите тип таблицы в MyISAM, это будет намного быстрее, чем Innodb с гораздо меньшими накладными расходами.

  • Добавить Индексы часто обращались столбцы

  • Вы можете рассмотреть разделы. разделите таблицу на дату доступа или другой ключ imp.

  • для резервного копирования вы всегда можете сбросить базу данных. синхронизация - другой вариант.

0

Насколько я понял, нет «рекомендуемого размера» таблицы. Да, меньшие таблицы имеют более быстрое время отклика запросов. Лучший способ сделать то, что если один или несколько tupple (s) не понадобятся в ближайшем будущем, вы перемещаете их в таблицу резервного копирования и запускаете триггер в случае, если таблеток не найден в основной таблице, чтобы найдите их в таблице резервного копирования.

Подумайте об этом как об индексе книги, тем меньше индекс, чем быстрее он будет обрабатываться, но нет рекомендуемого размера.

Программное обеспечение базы данных предназначено для хранения как минимум миллионов записей без проблем, если ваш h/w поддерживает его.

Imo, переместите все незатухающие записи (записи, которые не часто обращаются) в отдельные таблицы, основанные на времени доступа. Таким образом, вы можете использовать активную таблицу и таблицу архивов. Таким образом, активная таблица намного меньше и быстрее для доступа.

Надеюсь, я разрешил ваш вопрос.

Что касается резервного копирования таблицы, используйте команду сжатия в InnoDB для сжатия, а затем резервного копирования таблицы (таблиц).

www.innodb.com/doc/hot_backup/manual.html#backup

Смежные вопросы