Временные таблицы, таблицы в памяти

Приемы и подходы, обмен опытом

Модераторы: Screw, larin

Ответить
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Временные таблицы, таблицы в памяти

Сообщение n0where »

При прочтении документации столкнулся с данными таблицами.

Такая задача: есть xls/dbf файл, необходимо сверять из определенной таблицы БД (katmc к примеру) с этим файлом, как переходом по определённой табилце БД, и внутри переходом по файлу. Считая что кол-во записей в таблице БД и файле очень большое, думается о производительности.
Как можно потимизировать, и что наиболее удобное из этих инструментов, для моей задачи, возможно ли использование других инструментов.

Желательно бы с простым примером.

С ув.
masygreen
партнер
Сообщения: 112
Зарегистрирован: Чт, 20/03/2008 09:10
Имя Фамилия: Максим Черепанов
Откуда: IT
Контактная информация:

Re: Временные таблицы, таблицы в памяти

Сообщение masygreen »

Пример надо писать :)
1.Грузите файл в таблицу в памяти
2.Построчно сравниваете

есть правда более красивое решение если у вас не первасив...
Загружаете ваш файл в таблицу SQL и SQL же скриптом делаете запрос с NOT IN ...
n0where
Сообщения: 72
Зарегистрирован: Вт, 21/12/2010 06:01
Имя Фамилия: Лобастов Александр
Откуда: Сода

Re: Временные таблицы, таблицы в памяти

Сообщение n0where »

Вы немног не поняли. Я хотел сравнить способы подключения: Временные таблицы, таблицы в памяти. Чем лучше, тем хуже.

Вот ещё нашёл вариант.

Код: Выделить всё

table struct tmp_nzp_ostatki
(nRec  : comp)
with index (tmp_staff01=nRec);

Interface blabla;

...

      Insert current tmp_nzp_ostatki set
       tmp_nzp_ostatki.nRec   = nRec

// Далее обычными методами поиск по таблице с where
;

Какой из способов более приемлем
masygreen
партнер
Сообщения: 112
Зарегистрирован: Чт, 20/03/2008 09:10
Имя Фамилия: Максим Черепанов
Откуда: IT
Контактная информация:

Re: Временные таблицы, таблицы в памяти

Сообщение masygreen »

не вижу здесь 2 варианта..
на сколько я себе представляют таблицы в памяти - это таблицы словаря закэшированные в оперативку - логично что работа с ними будет быстрее
хотя надо внимательно доки почитать
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Временные таблицы, таблицы в памяти

Сообщение cruger »

masygreen писал(а):не вижу здесь 2 варианта..
на сколько я себе представляют таблицы в памяти - это таблицы словаря закэшированные в оперативку
таблицы в памяти - это просто таблицы в памяти, безотносительно таблиц словаря
наоборот - есть способ кэширования в оперативку таблиц словаря с помощью механизма таблиц в памяти
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Временные таблицы, таблицы в памяти

Сообщение cruger »

Полагаю, надо внешние данные загружать в ТП, _loop'ом проходить по таблице БД, искать соответствующие записи в ТП. При этом в ТП нужен индекс для поиска.
Если надо как-то обрабатывать внешние данные, не существующие в БД, то возможно имеет смысл не удалять найденное, а помечать, что б потом быстро обработать. Это надо смотреть или думать: сходу не могу сказать, что должно работать быстрее и должно ли.
Ответить