powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Оптимальный путь выборки данных и БД ACCESS из VB
3 сообщений из 3, страница 1 из 1
Оптимальный путь выборки данных и БД ACCESS из VB
    #36426922
Май
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из проги на VB надо написать обращение к БД где лежать данные, выбрать select' ом.
Вид выборки как можно должен быть быстрым.
БД ACCESS. Выборка, только чтение из БД, никаких транзакций в БД.
SELECT сумма(поля1), сумма(поля2) FROM таблица WHERE разница между (полем-временем и текущим временем) <= N-секунд.
Какой подход лучше OleDB, ODBCdb, .... ?

Что посоветуете те кто писал и оптимизировал запросы с участием поля время?
...
Рейтинг: 0 / 0
Оптимальный путь выборки данных и БД ACCESS из VB
    #36426928
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять вы в общем-то не совсем туда...

В большинстве случаев скорость будет зависеть от количества данных и правильности оптимизации, а не от провайдера. Вроде бы OLEDB работает быстрее ODBC, но если данных много, это время пренебрежительно мало.

А вот подход в запросе у вас неправильный.
Не надо делать выборку по формуле, если можно обойтись без нее. Если вы делаете выборку по формуле, значит отказываетесь от индексов, а индексы могут уменьшить время выборки на несколько порядков.

Вам нужно переделать WHERE таким образом, чтобы шло сравнение времени с заданной константой. То есть
WHERE a-x<=N
нужно преобразовать математически в
WHERE x<=a-N
, а так как a (текущее время) и N у вас известно до запроса, вычислить это выражение заранее.
WHERE x<=b

Ну и, разумеется, индекс на поле "x"
...
Рейтинг: 0 / 0
Оптимальный путь выборки данных и БД ACCESS из VB
    #36426931
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще один момент, раз вы просите выполнить запрос как можно быстрее, то у меня закрадывается подозрение, что вы хотите сделать много однотипных запросов в цикле подряд. Это очень плохо, так как будет много накладных расходов. Во многих случаях с помощью группировки и других приемов можно получить все данные за один раз, а потом постепенно обрабатывать на клиенте.

Но это только мое предположение, не знаю ваших реалий.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Оптимальный путь выборки данных и БД ACCESS из VB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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