
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.06.2015, 18:08:35
|
|||
|---|---|---|---|
|
|||
Структура БД |
|||
|
#18+
Есть задача. Главное скорость. Задача состоит в следующем: 1. Есть куча прайсов в екселе с позициями 50К-100К 2. Прайсы приходят 1-2 раза в день Надо обновлять БД как можно оперативнее. Делал как "учили" сделал таблицу поставщиков, производителей, товаров и склад-наличие, но анализ есть ли данный "поставщик", "производитель", "товар" и данная позиция от данного поставщика в складе-наличии и добавление нужных при их отсутсвии или "обновлении" в складе-наличии занимает тучу времени: только 1 прайс обрабатывается 5-10 мин * 20-30 прайсов - пол дня на обновление бред! Можно данный метод можно попробовать усовершенствовать, но сама задержка в том, что формирование 40к отдельных запросов очень длительна (например, 1к запросов по 1 в 10-100 раз дольше 1го запроса в 1к записей (я о инсерте)), но если "инсерт" я усовершенствую, то как быть с "селетами" ведь их будет 3*40к (если 40к записей)? Решил сделать кучу (20-30) таблиц складов-наличия, и не распределять позиции из ексель по кучке таблиц (поставщик, производитель, товар), а все писать в 1 таблицу путем: очистил таблицу(или создал) и засунул все записи из ексель в таблицу склад наличие. Мой метод свел до 3-5 секунд на внесение (40К записей одним инсертом не вбивается, сделал 40 инсертов по 1к), а так бы вообще в 1с вложился. Вывод сделать при помощи униона Может кто-то подскажет более универсальный метод, что бы не изобретать велосипед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2015, 18:18:29
|
|||
|---|---|---|---|
|
|||
Структура БД |
|||
|
#18+
И можно ли как то средствами MySQL получить название таблиц из другой таблицы или лучше не парится сделать формирование скл-запроса средой разработки (в моем случае делфи) Я о Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2015, 18:21:36
|
|||
|---|---|---|---|
Структура БД |
|||
|
#18+
Excel - SaveAs - CSV - LOAD DATA INFILE - UPDATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.06.2015, 18:22:54
|
|||
|---|---|---|---|
Структура БД |
|||
|
#18+
Dmitry YЕсть задача. Главное скорость.Это неправильная задача. Скорость редко попадает хотя бы в первую десятку требований. Скорее всего, проектируемая БД должна решать какие-то задачи бизнеса. Dmitry Yпроизводителей, товаровА что, у всех ваших поставщиков унифицированы справочники производителей и наименований товаров? У нас аналогичная часть БД устроена просто - две таблицы - справочник прайс-листов (организация, валюта прайс-листа, множитель наценки, дата последней загрузки и т.п.) и содержимое прайс-листа с полем-ссылкой на первую таблицу. При необходимости обновить прайс-лист удаляем все записи из второй таблицы, загружаем новые. При 2 миллионах позиций проблем с быстродействием нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1833083]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 330ms |

| 0 / 0 |
