powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ускорение работы запросов
12 сообщений из 37, страница 2 из 2
Ускорение работы запросов
    #36409467
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вам бы в раздел проектирования баз данных для начала.
похоже у вас какая-то мешанина в итоговой таблице. попробуйте нормализовать и сделать покрывающие индексы для своего запроса. возможно, если структуру хранения изменить, то будет намного проще.
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409473
Konst_Oneвам бы в раздел проектирования баз данных для начала.
похоже у вас какая-то мешанина в итоговой таблице. попробуйте нормализовать и сделать покрывающие индексы для своего запроса. возможно, если структуру хранения изменить, то будет намного проще.

спасибо, сам понимаю, что база кривая, но работаю с тем, что досталось. Самому переделывать не хочется. Хотя если сейчас не запущу за адекватное время придется уйти на пару недель с головой на переделку.
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409479
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

+1

Но вообще, если хотите дешево и сердито - разберитесь с индексами - это решит 90% ваших проблем. Сделайте хотя бы по одному простому индексу на каждое поле отбора.

P.S. С нормальными индексами JOIN не страшен

P.P.S. DISTINCTROW пишется после SELECT
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409497
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
группировочный запрос с HAVING-ом для JET-а очень тяжёлая задача на больших таблицах (тем более на таких плоских и без индексов). постарайтесь последовательно усложнять свой запрос, добиваясь приемлемой производительности
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409614
Shocker.Pro

P.P.S. DISTINCTROW пишется после SELECT

спасибо, пойду раскуривать индексы
реально where дал прирост
сейчас перепроверю резлуьтаты
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409619
Konst_Oneгруппировочный запрос с HAVING-ом для JET-а очень тяжёлая задача на больших таблицах (тем более на таких плоских и без индексов). постарайтесь последовательно усложнять свой запрос, добиваясь приемлемой производительности
а подскажите разницу между WHERE и HAVING
если я верно понял WHERE нельзя использовать с GROUP BY ?
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409645
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрощательа подскажите разницу между WHERE и HAVING
если я верно понял WHERE нельзя использовать с GROUP BY ?

Последовательность операторов

SELECT - выбираеммые поля
FROM - таблицы
WHERE - условия отбора ДО группировки
GROUP BY - группировка
HAVING - условия отбора ПОСЛЕ (по результатам) группировки

WHERE можно использовать с GROUP BY, но в вашем случае нет необходимости
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36409648
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...нет необходимости в GROUP BY
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36412086
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВопрощательЕщё вариант.
Можно выводить результаты запросов во временную таблицу. Это и будет ускорение.
Например.
Разбейте большой запрос на два небольших.
Так вот первый запрос, пусть создаёт временную таблицу (как результат своей работы)
а второй, пусть на вход берёт эту самую временную.
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36412331
klen_,

спасибо за совет,
добился ускорения за счет построения индексов. Парадокс, но скорость выросла более чем в 80 раз.

Теперь другой вопрос, почему когда удаляю все записи из таблицы и добавляю туда новые записи запросом на добавление индексация не сохраняется.
Но это в нете порыться просто надо.
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36412361
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрощательдобился ускорения за счет построения индексов. Парадокс, но скорость выросла более чем в 80 раз.

Это не парадокс. Скорость может вырасти и в 1000 и в 10000 раз. Для того и придуманы индексы. Это как содержание (или глоссарий) в книге. Если содержания нет, вам придется каждый раз читать всю книгу, чтобы найти нужную запись. По содержанию это будет на порядки быстрее

ВопрощательТеперь другой вопрос, почему когда удаляю все записи из таблицы и добавляю туда новые записи запросом на добавление индексация не сохраняется.
Но это в нете порыться просто надо.

Такого не должно быть.
Как именно вы удаляете все записи? Может вы просто грохаете и пересоздаете таблицу?
...
Рейтинг: 0 / 0
Ускорение работы запросов
    #36412561
Shocker.ProВопрощательдобился ускорения за счет построения индексов. Парадокс, но скорость выросла более чем в 80 раз.

Это не парадокс. Скорость может вырасти и в 1000 и в 10000 раз. Для того и придуманы индексы. Это как содержание (или глоссарий) в книге. Если содержания нет, вам придется каждый раз читать всю книгу, чтобы найти нужную запись. По содержанию это будет на порядки быстрее

ВопрощательТеперь другой вопрос, почему когда удаляю все записи из таблицы и добавляю туда новые записи запросом на добавление индексация не сохраняется.
Но это в нете порыться просто надо.

Такого не должно быть.
Как именно вы удаляете все записи? Может вы просто грохаете и пересоздаете таблицу?

Нет, я сразу понял что так делать нельзя. Но факт что нужно обнулить таблицу . Создал запрос на DELETE * FROM.
Таблица осталась.
Запрос который туда пишет, является запросом на добавление. Если использовать составной индекс, почему то слетает. Если индексировать сами поля по отдельности, то все сохраняется.
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ускорение работы запросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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