Оптимізація 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.