zyablik
Новичок
Надо оптимизнуть код. варианты
хочется услышать методы какими можно оптимайзнуть код, или логику, или вообще какими способами вы решили бы проблемму
опишу ситуацию:
есть файл данных (csv, разделитель точка с запятой) в котором хранится:
- название подставной фирмы отправления
- название станции отправления на железной дороге
- название станции прибытия на железной дороге
- название подставной фирмы прибытия
- разные другие данные
есть двухуровневые справочники соотвествий, в готорых определенны
города к которым относятся станции
действительные названия фирм к которым относятся подставные названия
задача, залить файл в базу с установленными значениями справочников
допустим в исходном файле
фирма отправления | станция отправления | станция прибытия | фирма прибытия
"рога и копыта" | курская | новосиб-гл. | "золотой бык"
итп..
в справочнике имеем соответствие значений
фирма "ВЕСЫ"
имеет подставные фирмы
- "рога и копыта"
- "р.и.г"
итп
фирма "ИЛЬФ"
- "золотой бык"
- "бычок"
итп
города
Москва
- курская
- рижская
Новосибирск
- новосиб-гл.
- новосиб-колц.
надо распарсить, положить в таблицу в таком виде
"рога и копыта" | курская | новосиб-гл. | "золотой бык" | "Весы" | "Москва" | "Новосибирск" | "Ильф"
у каждого справочника имеется свой ключ.
значения справочников связанны по парентИД
не у каждого значения в исходном файле есть значение из справочника.
в исходном файле может быть записанно "новосиб-гл" без точки, или наоборот с точкой, или вообще в кавычках, но это надо обратотать.. тоесть найти совпадения. максимизировать находжение соответствий.
ваши советы и решения.. задача на самом деле реализованна, но хочется оптимизировать. тк
файл из 400000 строк обрабатывается около 15 минут, что есть очень долго.
З.Ы.
рассматриваю варианты с использованием XML в качестве файла справочников вместо таблицы MySQL...
З.З.Ы. с XML знаком поверхностно вследствии чего не знаю какие резульатты по скорости может дать такой пепеход
хочется услышать методы какими можно оптимайзнуть код, или логику, или вообще какими способами вы решили бы проблемму
опишу ситуацию:
есть файл данных (csv, разделитель точка с запятой) в котором хранится:
- название подставной фирмы отправления
- название станции отправления на железной дороге
- название станции прибытия на железной дороге
- название подставной фирмы прибытия
- разные другие данные
есть двухуровневые справочники соотвествий, в готорых определенны
города к которым относятся станции
действительные названия фирм к которым относятся подставные названия
задача, залить файл в базу с установленными значениями справочников
допустим в исходном файле
фирма отправления | станция отправления | станция прибытия | фирма прибытия
"рога и копыта" | курская | новосиб-гл. | "золотой бык"
итп..
в справочнике имеем соответствие значений
фирма "ВЕСЫ"
имеет подставные фирмы
- "рога и копыта"
- "р.и.г"
итп
фирма "ИЛЬФ"
- "золотой бык"
- "бычок"
итп
города
Москва
- курская
- рижская
Новосибирск
- новосиб-гл.
- новосиб-колц.
надо распарсить, положить в таблицу в таком виде
"рога и копыта" | курская | новосиб-гл. | "золотой бык" | "Весы" | "Москва" | "Новосибирск" | "Ильф"
у каждого справочника имеется свой ключ.
значения справочников связанны по парентИД
не у каждого значения в исходном файле есть значение из справочника.
в исходном файле может быть записанно "новосиб-гл" без точки, или наоборот с точкой, или вообще в кавычках, но это надо обратотать.. тоесть найти совпадения. максимизировать находжение соответствий.
ваши советы и решения.. задача на самом деле реализованна, но хочется оптимизировать. тк
файл из 400000 строк обрабатывается около 15 минут, что есть очень долго.
З.Ы.
рассматриваю варианты с использованием XML в качестве файла справочников вместо таблицы MySQL...
З.З.Ы. с XML знаком поверхностно вследствии чего не знаю какие резульатты по скорости может дать такой пепеход