|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.06.2014, 13:37 | #1 |
Пользователь
Регистрация: 01.11.2013
Сообщений: 34
|
время парсинга
Всем привет!
выполняется парсинг файла, в файле определяются объекты и записываются в БД (firebird). само собой, в таблице, куда записываются объекты, есть инкрементное поле. каждый объект имеет свой handle, который уникален в файле. при записи объекта, дабы исключить два одинаковых объекта в БД, идет проверка на наличие этого handle в БД, если такого нет, то идет запись в противном случае идет обновление. в файлах, с которыми сейчас работаю 18 - 20 тыс. объектов, проверка handle, сильно замедляет парсинг файла... собственно сама программа подразумевает работу (а значит и запись) с несколькими такими файлами. так вот, вопрос такой: как сократить время парсинга, в данном случае? или остается только терпеть... |
23.06.2014, 13:47 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Сделать альтернативный уникальный индекс по handle
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.06.2014, 14:26 | #3 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
что за файл, что за субд? что за нафик такой сказать много букаф и ничего конкретного?
|
23.06.2014, 14:26 | #4 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
|
|
23.06.2014, 14:27 | #5 |
Пользователь
Регистрация: 01.11.2013
Сообщений: 34
|
спасибо, пробовал, время сокращается но не на много
может стоит поменять структуру, как вариант?? структура сейчас: tblObjects: id trace type layer handle tblPoints: id id_object x y z и убрать проверку с handle?? срабатывает значительно быстрее: 2-3минуты, против варианта с "CONSTRAINT uk_handle unique (Handle) using index ix_handle", где парсинг прошел за ~2часа (21617 объектов) ...это противоречит нормализации таблиц... но зато без проверки handle работа ускоряется Последний раз редактировалось water_; 23.06.2014 в 14:31. |
23.06.2014, 14:29 | #6 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
18 - 20 тыс - 2-3минуты это много
|
23.06.2014, 14:33 | #7 |
Пользователь
Регистрация: 01.11.2013
Сообщений: 34
|
файл текстовый (*.dxf) autocad
бд firebird объекты, собственно элементы чертежа |
23.06.2014, 14:34 | #8 |
Пользователь
Регистрация: 01.11.2013
Сообщений: 34
|
ориентировочно 2-3минуты, но это значительно быстрее 2х часов
|
23.06.2014, 14:50 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Проверка на существование быстрей будет.Покажи запрос и в одном, и в другом варианте. Или дело не в нем, а в проге, через которую это все в базу пишется?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 23.06.2014 в 14:53. |
23.06.2014, 14:56 | #10 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
Цитата:
говорю ж ничего конкретного, что-то как-то парсится, где-то что-то проверяется, как-то записывается, типа отгадай где тормоза |
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с парсинга. | foxes | Работа с сетью в Delphi | 3 | 20.10.2012 22:52 |
Оптимизация парсинга | Lauri | Общие вопросы Delphi | 3 | 08.03.2012 14:54 |
Ошибки парсинга | waka2ebawer | PHP | 2 | 26.02.2012 19:31 |
Оптимизация парсинга | Lauri | Общие вопросы Delphi | 5 | 14.01.2012 00:04 |
ВАРИАНТЫ ПАРСИНГА | Vova777 | Общие вопросы Delphi | 2 | 04.09.2010 23:51 |