powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание запроса из запросов
24 сообщений из 49, страница 2 из 2
Создание запроса из запросов
    #39611573
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios....
Движуха чисто ради движухи суть есть голимые понты )

Голимые понты - частое надоедливое хвастовство.
Дешевые понты - купил айфон в кредит , ем доширак.
Дорогие понты - устроил гонку на невском на своем ламборджини мерчеладо по встречной полосе.
Беспонтовый - просто ем доширак каждый день.


Уникальное слово понт, как не крути, заколдованное)))


MaxFMВечер добрый!
Суть вопроса - в базе Access существует запрос на объединение который делает выборку из ранее созданных запросов.
Вопрос - до какой степени это правильно - делать запрос из запросов? Запросы-исходники делают выборку из большой таблицы и с увеличением числа записей в ней запрос отрабатывается все дольше и дольше.
Решит ли проблему скорости выполнения запроса если я буду за исходники брать саму таблицу?

Вы частично правы, так как в СУБД с большим набором данных действительно существуют специальные таблицы, в которые собирают итоговые значения/срезы данных для отчетов из всех необходимых таблиц базы. В одну таблицу "принудительно" вставляют нужную информацию из других таблиц при помощи INSERT , как вам и сказали тут , а потом на основании этой одной таблицы и пилятся все необходимые отчеты. Этот подход накопления с последующей выборкой и называется собственно OLAP.

Попробуйте прикоснуться к прекрасному и создать некий аналог данной технологии), сгружайте данные во временную таблицу и нарезайте из неё необходимые для вас запросы/отчеты. Только после использования данных не забудьте очистить временную таблицу. Это непопулярное решение для аксесса с родным Jet SQL, но имеет право на существование. К сожалению в классическом аксессе нет дополнительных инструментов для оптимизации запросов ( кроме ваших мозгов, которые в общем то должны искать решение и в обрезанном аксессовском SQLe:)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611580
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportЭто в продолжение заинтересовавшего вас вопроса в ПТ - "Нужно ли изменять жене?" ?Какие тут все дружелюбные :-)

Tarasios4z4r, если тот же 2003-й офис (а именно акс) успешно справляется с текущим набором задач - то смысл переходить на новое только ради самого факта перехода? Движуха чисто ради движухи суть есть голимые понты )Сейчас любой аццесс уже устарел, но 2007 выглядел заметно бодрее 2003-го.
Такое проще было продавать, плюс появились всякие фишки, вроде многозначных полей; наконец, независимость от языка системы (была проблема, что база, созданная в русском 2003 офисе не открывалась в английском 2003 офисе) и что-то там ещё, не помню уже.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611641
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСейчас любой аццесс уже устарел,
В том то и дело, что достойной замены нет.
Недавно шерстил интернет на эту тему.
Наиболее подходит в качестве замены FileMaker. Но у него свои заморочки. Быстрая разработка, куча макросов, но шаг вправо, шаг влево от "политики партии" и всё.
Вазы из Open Office и Libre Office детские игрушки по сравнению с Access. Таблицы , запросы, формы, отчёты - да, есть. Но очень слабенькие. И отсутствует язык программирования типа VBA. Законченную вещь на них не сделаешь. Остальные вещи или заброшены или поддерживаются энтузиастами.
Есть неплохие отечественные разработки. Но их тянут одиночки на собственный страх и риск. На голом желании. И скорее всего они зачахнут, как и другие похожие разработки. До возможностей Access им ещё расти и расти.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611646
4z4r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
а какие возможности для вас критичны?
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611651
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFM... Язвите в другом месте. Вопрос по существу.
...
Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39611743
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4z4rJoss,
а какие возможности для вас критичны? Получить законченный продукт. Программу со всеми проверками, обработками ошибок, приятным интерфейсом, простотой установки, лёгкостью модернизации. Масштабируемость в небольших пределах.

Такое можно получить на основе Delphi + SQLite или подобных сочетаний.

Ну, а access тут "всё в одном"
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612025
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
4z4rguest_rusimportПросили в mdb...кто-то в 2003 офисе всё ещё живёт, ничего себе
Вы приятно удивитесь , но здесь большая половина сидит на 2003 , а у некоторых еще и 97 имеется. :)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612026
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
4z4r(была проблема, что база, созданная в русском 2003 офисе не открывалась в английском 2003 офисе) и что-то там ещё, не помню уже.
Брехня , все красиво открывается .
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612028
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
guest_rusimport... более ты мне не интересен... продолжай изучать сомнительные сайты)
Первый раз вижу чтоб guest_rusimport вышел из равновесия. :)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612031
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D.BПервый раз вижу чтоб guest_rusimport вышел из равновесия. :)

наверно много женщин, нервничает, завтра трудный день...
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612032
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D.Bguest_rusimport... более ты мне не интересен... продолжай изучать сомнительные сайты)
Первый раз вижу чтоб guest_rusimport вышел из равновесия. :)
Как мне тут сказала жена, луна в это время была без курса... Возраст, даже уже такие астрологические катаклизмы влияют, видимо :)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612073
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFM... Язвите в другом месте. Вопрос по существу.
...
Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb.
http://my-files.ru/mfhtec
наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612074
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss4z4rJoss,
а какие возможности для вас критичны? Получить законченный продукт. Программу со всеми проверками, обработками ошибок, приятным интерфейсом, простотой установки, лёгкостью модернизации. Масштабируемость в небольших пределах.

Такое можно получить на основе Delphi + SQLite или подобных сочетаний.

Ну, а access тут "всё в одном"

мне нужно было чтобы для работы программы не нужно было дополнительных настроек. по моему анализу это может делать только Access. при том на машине даже не обязательно наличие его самого, достаточно других элементов officе чтобы она могла работать.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612076
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportпропущено...

Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb.
http://my-files.ru/mfhtec
наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся.
При попытках скачки базы все мои браузеры выдают одну и ту же картинку ((
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612077
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMпропущено...

http://my-files.ru/mfhtec
наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся.
При попытках скачки базы все мои браузеры выдают одну и ту же картинку ((
http://my-files.ru/3ivv3j
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612078
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMguest_rusimportпропущено...

При попытках скачки базы все мои браузеры выдают одну и ту же картинку ((
http://my-files.ru/3ivv3j

тоже не работает.
Вот рабочая, проверил
http://transfiles.ru/uh7hu
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612096
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMMaxFMпропущено...

http://my-files.ru/3ivv3j

тоже не работает.
Вот рабочая, проверил
http://transfiles.ru/uh7hu
Посмотрел. Под впечатлением... Так делать не надо! Почему? - Попробую объяснить попозже, когда найду время и силы. (Если до этого кто-нибудь ещё не поможет)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612325
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportMaxFMпропущено...


тоже не работает.
Вот рабочая, проверил
http://transfiles.ru/uh7hu
Посмотрел. Под впечатлением... Так делать не надо! Почему? - Попробую объяснить попозже, когда найду время и силы. (Если до этого кто-нибудь ещё не поможет)
Мдааааа. Звучит как приговор....
Хорошо, жду.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612343
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFMХорошо, жду.

Чего?
1. Запрос "быстрый" и запрос "медленный" как-то сравнивать на скорость не очень, у них столбец Цена2 не совпадает.
2. Запрос "медленный" медленный потому что кривой (по крайней мере с точки зрения Акцесса, которому приходится догадываться, что s - это второй раз та же самая таблица во вложенном запросе), удивительно, что он вообще выдает первую страницу, перехода на последнюю запись можно и не дождаться...
Кривизну медленного запроса подтверждает и усеченная выборка, например в нем отсутствует 77 запись с кодом товара 10.
Если вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (select top 1 цена from qv_заказ where Количество>s.количество) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


Заменить на вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (SELECT TOP 1 qv_заказ.Цена FROM qv_заказ, Заказано_full AS s WHERE (((qv_заказ.Количество)>[s].[количество]));) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


То "медленный" запрос уже работает быстрее "быстрого" это видно по времени появления общего количества записей (в вашем быстом на моем компе это секунд 5-8, а в новом уже не медленном буквально сразу).
Ну и новый меленный (уже не медленный не теряет записи)
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612346
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagMaxFMХорошо, жду.

Чего?
1. Запрос "быстрый" и запрос "медленный" как-то сравнивать на скорость не очень, у них столбец Цена2 не совпадает.
2. Запрос "медленный" медленный потому что кривой (по крайней мере с точки зрения Акцесса, которому приходится догадываться, что s - это второй раз та же самая таблица во вложенном запросе), удивительно, что он вообще выдает первую страницу, перехода на последнюю запись можно и не дождаться...
Кривизну медленного запроса подтверждает и усеченная выборка, например в нем отсутствует 77 запись с кодом товара 10.
Если вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (select top 1 цена from qv_заказ where Количество>s.количество) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


Заменить на вот это
Код: sql
1.
2.
3.
SELECT s.КодТовара, s.Цена, (SELECT TOP 1 qv_заказ.Цена FROM qv_заказ, Заказано_full AS s WHERE (((qv_заказ.Количество)>[s].[количество]));) AS цена2
FROM Заказано_full AS s
ORDER BY s.Количество;


То "медленный" запрос уже работает быстрее "быстрого" это видно по времени появления общего количества записей (в вашем быстом на моем компе это секунд 5-8, а в новом уже не медленном буквально сразу).
Ну и новый меленный (уже не медленный не теряет записи)
Действительно работает даже быстрее моего "быстрого" запроса. Спасибо большое!!!! Я не понимаю почему такая конструкция работает быстрее. Это все таки видимо по опыту работы достигается.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612524
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,

1. "Медленный" запрос потому медленный, что неоднократно выполняется сортировка.
Уберите сортировку из вспомогательного запроса (qv_заказ) и "медленный" запрос будет работать точно так же, как "быстрый".
То есть, разницы между скоростью выборки из запроса и из таблицы нет.

2. "Запрос с ошибкой". Причина ошибки не в том, что в подчиненном запросе стоит ORDER BY, а в том, что этот подчиненный запрос
возвращает значительно больше одной записи.
Без ORDER BY выдергивается первое попавшееся значение, а с ORDER BY выявляется куча равноценных,
среди которых предикат TOP 1 выбор делать не уполномочен и возвращает их все.

3. Какой смысл в подчиненном запросе искать цену партии с бОльшим количеством, если даже привязки к определенному товару нет?
Или смысла запрос не должен был содержать, просто Вы хотели доказать, что ORDER BY все портит?
В таком случае проведите такой эксперимент.
— в таблицу Заказано_full добавьте поле Id (тип счетчик), значения которого станут заведомо уникальны;
— в подчиненном запросе сделайте ORDER BY Id - смысла в запросе от этого не прибавится и не убавится,
но возвращать он станет не более одного значения.
Тут Вы и увидите, что подчиненный запрос работает, невзирая на наличие ORDER BY.
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612605
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо __Michelle и vmag! Вернулся с очередных поздравлений женщин, хотел уже было всё подробно расписать, но тут увидел ваши расширенные, исчерпывающие ответы. __Michelle с прошедшим! Удачи и Успехов во всем!
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612609
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,

Большое спасибо!!!
Очень приятно получать поздравления сверх положенного срока!!!)))
Спасибо за добрые пожелания!!!
...
Рейтинг: 0 / 0
Создание запроса из запросов
    #39612712
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, vmag - спасибо за подробные ответы. Все разложили, теперь появилось понимание своих ошибок.
guest_rusimport - спасибо за терпение.

Т.о. я правильно сделаю вывод что создание запросов из запросов не является причиной торможения его выполнения - тормозят не нужные вторичные сортировки и прочее что заставляет делать одну и туже работу системе несколько раз.
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создание запроса из запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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