predator
web designer
есть массив данных в txt размером около 25Гб, нужно его закинуть в mysql
скрипт написан, работает и продолжает работать )
обработано около полутора гигов получено 25417296 строк в таблице
по дороге возникли следующие проблемы
запрос на постраничный вывод по http почему-то очень долго отрабатывает, хотя из шелл всё срабатывает очень быстро. Простейший селект с лимитом.
И второе ftell даёт почему-то отрицательное значение, по-крайней мере сохраняется в бд отрицательное число (UPDATE tbl SET position="'.ftell( $this->_fp ).'" WHERE file_name="'.$this->settings['file'].'" LIMIT 1). Такое вообще бывает? ))
у кого какой опыт с обработкой больших объёмов данных?
я уже начал задумыватся не разбить ли таблицу с данными на несколько по алфавиту (там строковые данные) и при необходимости делать union хотя это наикривейший вариант. но с такими объёмами первый раз столкнулся - опыта нет.
был вариант делать через odbc с драйвером txt для подключения csv и др. файлов. но посчитали что долго разбираться как это реализовать под linux и сделали в лоб.
скрипт написан, работает и продолжает работать )
обработано около полутора гигов получено 25417296 строк в таблице
по дороге возникли следующие проблемы
запрос на постраничный вывод по http почему-то очень долго отрабатывает, хотя из шелл всё срабатывает очень быстро. Простейший селект с лимитом.
И второе ftell даёт почему-то отрицательное значение, по-крайней мере сохраняется в бд отрицательное число (UPDATE tbl SET position="'.ftell( $this->_fp ).'" WHERE file_name="'.$this->settings['file'].'" LIMIT 1). Такое вообще бывает? ))
у кого какой опыт с обработкой больших объёмов данных?
я уже начал задумыватся не разбить ли таблицу с данными на несколько по алфавиту (там строковые данные) и при необходимости делать union хотя это наикривейший вариант. но с такими объёмами первый раз столкнулся - опыта нет.
был вариант делать через odbc с драйвером txt для подключения csv и др. файлов. но посчитали что долго разбираться как это реализовать под linux и сделали в лоб.