ПредишенСледващото

Днес той взе да попълни базата данни в таблица MyISAM 100 милиона записи и всичко ще се оправи, но на втората ми малко servachke, това се е случило много дълго време, причината е, че тя е само на 700 MB оперативна памет.

Оставих за през нощта, до сутринта заля с около 4 милиона, но тя все още е много бавно, а след това, че си мислех, че проблемът се крие във факта, че индексите се четат от диска - това е причината за бавна скорост. Трябва да се отбележи, че записите в таблицата трябва да са уникални, затова и използва уникален индекс.

Като цяло, след като си помисля, реших да се уверете, че на правотата на идеите си, и е полезно да се помни, как да се увеличи броят на RAM разпределени за MySQL индекси. Решението не беше закъсняват, а тук намерих следната бележка: Импортиране на данни по-бързо. Това е само един вариант, което е търсил (аз знаех, че той е бил там, но не можех да си спомня точното име): ключ-буфер. Той беше този, който е бил отговорен за индекса на буфера.

След това се преместих на скрипта servachka, до компютъра си, с 16 GB оперативна памет, създадена през опция файла my.cnf key_buffer_size на това се увеличава до 10 ГБ. И стартирате скрипта, някъде след около час сценария си свършат работата и аз имам 20 милиона уникални записи. Т.е. промени в едноцифрени числа, както и преминаването към по-мощен хардуер, които съм направил работата 5 пъти по-бързо (ако е оставено на servachke, бих се изчака приключването на повече: (20 / 4-1) * 10 = 40 часа).

В края на краищата са били внесени, аз просто копират бинарни файлове в малка база servachok, този начин се предава готови база.

Ускоряване на данни за внос на маса MyISAM MySQL

Снимката е направена от blog.marcocantu.com

Ние спечелил форум. Всички въпроси, които не се отнасят към статията, както и въпроси, специфични за вашия случай, трябва да попитам и да го обсъдим там, в "Наръчник на потребителя".

Свързани статии

Подкрепете проекта - споделете линка, благодаря!