Требуется загрузить файл с данными в массив и хранить его в озу, причина более 1млн строк в файле, задача работа с этими данными - поиск даблов при загрузке новых строк. Помогите как это делаеться не могу сообразить не как. Может есть какие то более гуманные способы работы с большим объемом строчных данных, важна скорость обработки и чтоб срвак не нагружало сильно.
Да даблов не должно быть плюс надо делать на против строк пометки небольшие. Ну велосипед по сути тот же MYSQL. Но я не умею работать с ней на достаточно грамотном уровне, чтобы не нагружать сам MYSQL тупыми запросами, ну пока так ... вот решил что оптимально будет работать с файловым массивом загруженным в озу, тк обращений будет в секунду несколько десятков, а если учесть что даблы искать да и выборки делать с пометками это будет просто кирдык.
оптимально - MySQL. грузить в память млн строк при каждом обращении - сервер сдохнет уже при нескольких запросах в секунду. просто памяти не хватит
- увеличивай выделяемую память через ini_set("memory_limit","128M"); - оптимизируй код как только это возможно
Храните данные в кеше. Оптимально - memcache. Другие варианты - berkley db, файловый кеш. Ключ для кеша - md5(строки) например. И дублирующихся строк не будет, и MySQL разгрузите.
Делайте так: Mysql -> загрузка из файла в таблицу -> insert into tbl2 from (select distict.row from tbl1) as t1
sx000 проще работы с мускулом думаешь выйдет? =)) хреначо. учи мускул, там осваивать минут десять, а дублированные строки он ищет на ура - у него индексы есть!
Если вместо того, чтобы тратить время на занятие подобной фигнёй, потратить его на изучение основ MySQL, это будет гораздо полезнее, как для данной задачи, так и для последующих.