Форум: "Базы";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
ВнизКак сделать максимально быстрое добавление/обновление? Найти похожие ветки
← →
novill © (2006-06-02 11:24) [0]Есть таблица цен товаров у поставщиков
name
price1
...
pricen
Список поставшиков фиксированный (n штук)
Данные приходят пакетами из записей вида
(наименование товара, цена, номер поставщика).
Если такого товара еще нет в таблице надо добавить его и указать цену у поставщика, если товар уже есть надо внести цену у соответствующего поставщика (если цена уже задана обновить).
Как это сделать так, чтобы работало максимально быстро?
← →
Johnmen © (2006-06-02 11:34) [1]http://www.ibase.ru/devinfo/testiu.htm
← →
Sergey13 © (2006-06-02 12:07) [2]2 novill © (02.06.06 11:24)
>Данные приходят пакетами из записей вида
(наименование товара, цена, номер поставщика).
Марс, 10, 1
Конфета Марс, 11, 2
Батончик кондитерский Марс, 12, 3
Что будешь делать?
← →
novill © (2006-06-02 12:29) [3]> Sergey13
Должно быть полное соответствие наименование товара.
Если таких наименований еще не было, добавлю три записи.
← →
Sergey13 © (2006-06-02 12:36) [4]2[3] novill © (02.06.06 12:29)
И кому это надо? Тут, ИМХО, не о скорости надо думать.
>Как это сделать так, чтобы работало максимально быстро?
Залей в отдельную таблицу и обработай процедурой на серваке, после удали (если мешают).
← →
saxon (2006-06-02 12:49) [5]
> Sergey13 © (02.06.06 12:36) [4]
> Залей в отдельную таблицу и обработай процедурой на серваке,
> после удали (если мешают).
Сомневаюсь в ускорении. Тут скорее наоборот - медленее станет.
← →
Sergey13 © (2006-06-02 13:03) [6]2 [5] saxon (02.06.06 12:49)
> Тут скорее наоборот - медленее станет.
Медленнее чем что? И почему?
← →
MsGuns © (2006-06-02 13:15) [7]Вопрос на засыпку:
Каким образом "система" будет определять одинаковый товар в прайсах разных поставщиков (см. [2]) ?
Где гарантия, что один и тот же поставщик не всунет в разные прайсы одну и ту же шоколадку под разным названием ?
Не проще ли давать менеджеру по поставкам возможность удобного просмотра оригинальных прайсов (Excel, Word, html, dbf), поступаемых от поставщиков с возможностью ручного добавления в БД прайсов ?
← →
saxon (2006-06-02 13:18) [8]
> Sergey13 © (02.06.06 13:03) [6]
Как себе представил:
Данные поочередно перекидываються из записи (см. [0]) в SP и она проанализировав - либо добавляет новую либо редактирует существующую запись.
В вашем варианте: предварительно они (все записи) попадают в доп. таблицу и только потом начинаеться их анализ и принимаеться соответственное решение. + удаление записей из доп. таблицы (если мешают).
Если я правильно понял, то добавится время на работу с доп. таблицей. Или не так?
← →
saxon (2006-06-02 13:20) [9]
> MsGuns © (02.06.06 13:15) [7]
Например можно передавать идентификатор (если есть) от поставщика.
← →
Sergey13 © (2006-06-02 13:22) [10]2 [8] saxon (02.06.06 13:18)
Зато трафика при поиске и фиксации каждой записи не будет.
Фиг знает. Это надо пробовать и мерять.
У автора другая проблема на подходе. 8-)
Вот и Ганз меня поддержал.
← →
MsGuns © (2006-06-02 13:32) [11]>saxon (02.06.06 13:20) [9]
>Например можно передавать идентификатор (если есть) от поставщика.
Это интересная мысль. Особенно если учесть, что у каждого поставщика своя система "идентификации"
← →
novill © (2006-06-02 13:34) [12]
> И кому это надо? Тут, ИМХО, не о скорости надо думать.
А о чем?
← →
saxon (2006-06-02 13:35) [13]
> MsGuns © (02.06.06 13:32) [11]
Ну так база имеет уже идентификатор поставщика (если поправильному :) ).
Хотя кто его знает как там на самом деле. Добавить и его (если нет).
← →
Sergey13 © (2006-06-02 13:37) [14]2[12] novill © (02.06.06 13:34)
>А о чем?
О [2] и [7]. Ибо кому интересен батончик Марс в 48 ипостасях.
← →
novill © (2006-06-02 13:46) [15]
> Не проще ли давать менеджеру по поставкам возможность удобного
> просмотра оригинальных прайсов (Excel, Word, html, dbf),
> поступаемых от поставщиков с возможностью ручного добавления
> в БД прайсов ?
Именно этот процесс и автоматизируется. Только это не совсем прайсы, это протоколы торгов. Есть еще несколько полей кроме наименования по которым идет группировка цен.
> У автора другая проблема на подходе. 8-)
Это про поиск "одной шоколадки под разными названиями"?
Этот процесс лежит на менеждерах, и они уже согласились, что из того г.на, что они дают конфетку кроме человека никто не сделает. Я показал, что и как работает - они довольны. Вот только добавление данных идет не быстро.
Или какая-то еще проблема?
← →
Sergey13 © (2006-06-02 13:52) [16]>Или какая-то еще проблема?
Нет. Если все довольны - какая проблема. 8-)
А насчет скорости - ты так ничего и не сказал. Как делаешь и сколько это длится?
← →
saxon (2006-06-02 14:10) [17]
> Sergey13 © (02.06.06 13:52) [16]
Вот вот интересно, что значит не быстро?
← →
novill © (2006-06-02 15:12) [18]Стыдно признаваться просто.
В лоб делаю: сначала попытка апдейта, если не получилось инсерт.
Точно указать скорость не могу, сервер на котором всё крутится грузят другии задачами. Но примерно для обработки 20000 записей уходит больше 10 минут.
← →
MsGuns © (2006-06-02 15:15) [19]Приведи структуру таблицы, куда инсеришь, апдейтишь. И запросы, канэшна, тоже ;)
← →
Sergey13 © (2006-06-02 15:21) [20]>В лоб делаю: сначала попытка апдейта, если не получилось инсерт.
Все из клиента и по исключению что ли? Как это реализовано?
Напиши процедуру и передавай в нее все поля исходной строки. В ней сначала поиск товара. В зависимости от результата поиска - вставка или апдейт. Если ищешь по текстовому пою (изврат это все таки 8-), то поиск дожен быть регистронезависимым, т.е. оно должно быть проиндексировано по UPPER.
>Но примерно для обработки 20000 записей уходит больше 10 минут.
В принципе не так уж и плохо, ИМХО.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.012 c