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

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


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

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

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

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

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

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


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