powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выбор совместных перемещений товара
12 сообщений из 12, страница 1 из 1
Выбор совместных перемещений товара
    #39735425
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СУДБ Oracle 10g.
Имеется большая таблица продаж товара по городам такого вида:

IDTOVARFROm_CITYTO_CITYDATA_SENDNAKLADNAYAKOLVO1TOMATOMOSCOWTVER20.10.20181235002APPLEMOSCOWRIGA10.10.20183221003APPLEMOSCOWTVER20.10.2018123104APPLEOMSKPITER21.10.2018100255TMINMOSCOWTVER20.10.20181232

Таблица содержит данные за 10 лет и 10 млн записей.
Необходимо выбрать товары, которые перемещались в одной партии с помидорами. Партия определяется по номеру партии и маршруту между городами.
Как лучше сделать?
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735434
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonКак лучше сделать?Вариантов два. Какой лучше, зависит от разных факторов.
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735512
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,
какие варианты?
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735527
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossisson,

как таблица проиндексирована?

....
stax
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735528
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sossisson,

Будет гораздо быстрее для вас же, если вы подготовите выборку через With, и покажете результат который хотите получить.
RTFM dense_rank
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735530
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feagor,

я так понимаю основная загвоздка в 10 млн записей.

.....
stax
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735537
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Так автор не уточняет в чем трудность возникает.
Для нормальной дисковой системы 10 миллионов записей фул сканом не проблема ни разу
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735538
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossisson-2-,
какие варианты?Ну, как у любой задачи.
вариант 1 - делать,
вариант 2 - не делать.
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735547
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossisson-2-,
какие варианты?


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
  1  with t (ID,TOVAR,FROm_CITY,TO_CITY,NAKLADNAYA,KOLVO) as (
  2  select 1,'TOMATO','MOSCOW','TVER',123,500 from dual union all
  3  select 2,'APPLE','MOSCOW','RIGA',322,100 from dual union all
  4  select 3,'APPLE','MOSCOW','TVER',123,10 from dual union all
  5  select 4,'APPLE','OMSK','PITER',100,25 from dual union all
  6  select 5,'TMIN','MOSCOW','TVER',123,2 from dual union all
  7  select 7,'TOMATO','Львів','Луцьк',7,500 from dual union all
  8  select 8,'Кава','Луцьк','Київ',7,500 from dual)
  9  ,tt as (
 10  select
 11    t.*
 12   ,count(distinct decode(tovar,'TOMATO',1,2)) over (partition by  nakladnaya ) f
 13  from t )
 14  select
 15   distinct tovar
 16  from tt
 17* where f=2 and tovar<>'TOMATO'
SQL> /

TOVAR
------
Кава
TMIN
APPLE


.....
stax
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735717
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,

Да, примерно так. Проблема в том, что когда так делаю, то все зависает на 4-5 часов.
Если найти через селект номера партий, где был помидор и потом эти номера партий анализировать, то будет быстрее - где-то час.
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735780
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonStax,

Да, примерно так. Проблема в том, что когда так делаю, то все зависает на 4-5 часов.
Если найти через селект номера партий, где был помидор и потом эти номера партий анализировать, то будет быстрее - где-то час.

очень долго

повторно, как проиндексирована таблица?

.....
stax
...
Рейтинг: 0 / 0
Выбор совместных перемещений товара
    #39735960
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossisson,

какой процент таблицы забит помидорами?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выбор совместных перемещений товара
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]