Оптимізація MySQL в Linux


3

Я виконую масштабну операцію вставки до бази даних MySQL (100+ мільйонів записів). Потім я вибираю записи з двох таблиць, використовуючи здебільшого їх первинний ключ. Я прагну оптимізувати систему щодо продуктивності та поточних параметрів конфігурації, які я маю на увазі:

  • двійковий журнал вимкнено для підвищення продуктивності,
  • Мобільний накопичувач MyISAM для підвищення продуктивності (проте я також спробую "важчий" (транзакційний) InnoDB, оскільки він використовує приватний буфер даних і більш чітке блокування),
  • підключення через сокет, оскільки я підключаюсь до сервера в одному комп’ютері.

Будь-які пропозиції?


Які дані? Чи можете ви дати характеристику його структури?
trurl

Відповіді:


0

Я раджу проти таблиць MyISAM, хоча в деяких випадках вони можуть бути швидшими, оскільки вони менш функціональні, а пошкодження даних набагато більше можливостей.

Підключення через сокет замість TCP є хорошою ідеєю, але це не буде робити яку - або помітну різницю для типів запитів ви говорите.

Залежно від моделей використання ваших даних, ви можете розглянути можливість розподілу даних на кілька таблиць. Не знаючи більше про ваші дані, я не можу запропонувати конкретних рекомендацій, але ви можете прочитати розділ Partitioning в MySQL, щоб отримати уявлення. І звичайно, якщо ви вирішили пройти цей маршрут і маєте більш конкретні запитання, ви знаєте, куди звернутися :)


@trurl та @Flimsy, дякую. Мої дані насправді представляють графік, тому є таблиця Node (id INT (10) NOT NULL, назва VARCHAR (300) NOT NULL, PRIMARY KEY (id)) та Edge таблиці (from_node_id INT (10) NOT NULL, to_node_id INT (10) NOT NULL, PRIMARY KEY (from_node_id, to_node_id)). Після того, як я вставляю дані з текстового файлу, я виконую еквівалент алгоритму найкоротшого шляху між будь-якими двома вузлами.
mfg

0

Ви спробували http://www.mysqltuner.com/ ? Я думаю, що це має стати гарною відправною точкою для базової настройки.


Хочете уточнити його особливості?
Іво Фліпс

Він дає пропозиції щодо деяких налаштувань, які ви можете змінити на базі сервера MySQL на статистиці. Це не змінить жодного параметра вашого сервера MySQL.
Реймонд Тау
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.