powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
7 сообщений из 7, страница 1 из 1
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39139950
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из Excel оранизован коннекшн к базе mdb, лежащей в сети.
В эксель пользователи выгружиют (из головы, астрала, из сканера штрих-кода и еще неизвестно откуда...) список ID. По совпавшим ИД из базы Access в Excel подтягиваются данные.

Итак вопрос: что наваш взгляд лучше, выполнить запрос к базе в виде
Код: vbnet
1.
SELECT список_полей, FROM таблицы_в базе_Access WHERE ID IN (ID1, ID2...ID1000)


или для каждого пользователя создавать табицу со списком ИД, и потом ее дропать и делать пак БД, ожидая когда же она сломается. SQL-сервера нет и не предвидится.

Пытался сделать временную БД на на стороне пользователя, но из-за непонятного поведения запроса не прокатило.
...
Рейтинг: 0 / 0
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39139971
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C учётом того, что один хрен все данные тащатся на клиента для обработки, временная таблица не имеет смысла от слова "вааще".
...
Рейтинг: 0 / 0
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39139978
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, я несколько упростил, пока формулировал описание происходящего. Прежде чем БД отдает резултаты пользователю в ексель, на ее стороне производится куча обсчета, промежуточные и конечные результаты сохраняются в базе, конечные возвращаются в эксель.

Akina, а правильно я понимаю, что внутри
Код: plaintext
IN (ID1, ID2...ID1000)
ограничение на перечисление - 1000?
...
Рейтинг: 0 / 0
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39139981
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lockpickupна ее стороне производится куча обсчета
Это кто тебе такую хню напел? забудь срочно. Все данные тащатся на клиента и там обсчитываются. И, кроме того, валяющийся хрен знает где файл базы данных используется как файловый кэш, если возникает потребность материализации промежуточных результатов, что генерит дополнительный туды-сюдышный трафик, от которого даже кэширование не очень спасает, ибо сеть.

Lockpickupправильно я понимаю, что внутри
Код: plaintext
IN (ID1, ID2...ID1000)
ограничение на перечисление - 1000?
Тыкни пальцем в ссылку - откуда ты взял число 1000, чтобы правильно понимать?
...
Рейтинг: 0 / 0
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39139991
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По аналогии с ораклом.
...
Рейтинг: 0 / 0
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39140570
Объясните подробнее - в Excel подключена таблица Акса, из которой по введенным юзером ИД подтягиваются данные. Вопрос - куда юзер вводит данные? В другой диапазон, на другой лист, в другой файл или прямо в ячейки этой таблицы?
...
Рейтинг: 0 / 0
Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
    #39140730
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ), вот общая конва:
В ячейках Excel указаны ID -они там уже есть по определению. Пользователь жмет кнопку, в базу Acess (mdb) идет запрос по списку ID, указанных на листе, из базы Acess (mdb) нужно подтянуть данные этим ID.

По итерациям так:
Скрипт (он в файле Excel) подключается к базе Acess посредством ADODB.Connection
Проверяем есть ли конкретный ИД в базе. Если нет, взять ИД в базу, взять дополнительные данные, привязанные к ИД из Excel, провести обсчет данных в базе и вернуть результат в Excel.

Сейчас все запросы из скрипта Excel к базе работают. Вопрос в том, как правильнее (экономнее, разумнее) передать список ИД в базу, для дальнейшего их обсчета.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, что эффективнее: IN(1000 разных ИД) или временная таблица?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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