Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.06;
Скачать: CL | DM;

Вниз

Как сделать максимально быстрое добавление/обновление?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.028 c
15-1152612658
Maverik
2006-07-11 14:10
2006.08.06
навеяно разговором разработчика и заказчика


15-1152095029
igrek23
2006-07-05 14:23
2006.08.06
компоненты для работы с топографическими картами


15-1152146509
PATRIOT
2006-07-06 04:41
2006.08.06
Проблема с пересылкой файла


2-1152859528
T54
2006-07-14 10:45
2006.08.06
Добавление bmp к exe . . .


2-1153104346
koha
2006-07-17 06:45
2006.08.06
Как программно узнать версию собственной программы