Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.027 c
15-1152193319
Альф
2006-07-06 17:41
2006.08.06
Как создать dll с именем основного exe ?


15-1152195182
PVOzerski
2006-07-06 18:13
2006.08.06
А что, в MySQL менялся синтаксис UDF?


2-1153351176
batya17
2006-07-20 03:19
2006.08.06
Закрытие окна


1-1150381898
Desdechado
2006-06-15 18:31
2006.08.06
Caption в отчете FastReport 2.5


4-1145014299
Sinka
2006-04-14 15:31
2006.08.06
Задний фон на TCustomObject (в частности на TTreeView)




   Наверх