|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
Tarasios.... Движуха чисто ради движухи суть есть голимые понты ) Голимые понты - частое надоедливое хвастовство. Дешевые понты - купил айфон в кредит , ем доширак. Дорогие понты - устроил гонку на невском на своем ламборджини мерчеладо по встречной полосе. Беспонтовый - просто ем доширак каждый день. Уникальное слово понт, как не крути, заколдованное))) MaxFMВечер добрый! Суть вопроса - в базе Access существует запрос на объединение который делает выборку из ранее созданных запросов. Вопрос - до какой степени это правильно - делать запрос из запросов? Запросы-исходники делают выборку из большой таблицы и с увеличением числа записей в ней запрос отрабатывается все дольше и дольше. Решит ли проблему скорости выполнения запроса если я буду за исходники брать саму таблицу? Вы частично правы, так как в СУБД с большим набором данных действительно существуют специальные таблицы, в которые собирают итоговые значения/срезы данных для отчетов из всех необходимых таблиц базы. В одну таблицу "принудительно" вставляют нужную информацию из других таблиц при помощи INSERT , как вам и сказали тут , а потом на основании этой одной таблицы и пилятся все необходимые отчеты. Этот подход накопления с последующей выборкой и называется собственно OLAP. Попробуйте прикоснуться к прекрасному и создать некий аналог данной технологии), сгружайте данные во временную таблицу и нарезайте из неё необходимые для вас запросы/отчеты. Только после использования данных не забудьте очистить временную таблицу. Это непопулярное решение для аксесса с родным Jet SQL, но имеет право на существование. К сожалению в классическом аксессе нет дополнительных инструментов для оптимизации запросов ( кроме ваших мозгов, которые в общем то должны искать решение и в обрезанном аксессовском SQLe:) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 01:21 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
guest_rusimportЭто в продолжение заинтересовавшего вас вопроса в ПТ - "Нужно ли изменять жене?" ?Какие тут все дружелюбные :-) Tarasios4z4r, если тот же 2003-й офис (а именно акс) успешно справляется с текущим набором задач - то смысл переходить на новое только ради самого факта перехода? Движуха чисто ради движухи суть есть голимые понты )Сейчас любой аццесс уже устарел, но 2007 выглядел заметно бодрее 2003-го. Такое проще было продавать, плюс появились всякие фишки, вроде многозначных полей; наконец, независимость от языка системы (была проблема, что база, созданная в русском 2003 офисе не открывалась в английском 2003 офисе) и что-то там ещё, не помню уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 02:33 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
авторСейчас любой аццесс уже устарел, В том то и дело, что достойной замены нет. Недавно шерстил интернет на эту тему. Наиболее подходит в качестве замены FileMaker. Но у него свои заморочки. Быстрая разработка, куча макросов, но шаг вправо, шаг влево от "политики партии" и всё. Вазы из Open Office и Libre Office детские игрушки по сравнению с Access. Таблицы , запросы, формы, отчёты - да, есть. Но очень слабенькие. И отсутствует язык программирования типа VBA. Законченную вещь на них не сделаешь. Остальные вещи или заброшены или поддерживаются энтузиастами. Есть неплохие отечественные разработки. Но их тянут одиночки на собственный страх и риск. На голом желании. И скорее всего они зачахнут, как и другие похожие разработки. До возможностей Access им ещё расти и расти. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 09:30 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
Joss, а какие возможности для вас критичны? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 09:40 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
MaxFM... Язвите в другом месте. Вопрос по существу. ... Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 09:49 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
4z4rJoss, а какие возможности для вас критичны? Получить законченный продукт. Программу со всеми проверками, обработками ошибок, приятным интерфейсом, простотой установки, лёгкостью модернизации. Масштабируемость в небольших пределах. Такое можно получить на основе Delphi + SQLite или подобных сочетаний. Ну, а access тут "всё в одном" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 12:09 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
4z4rguest_rusimportПросили в mdb...кто-то в 2003 офисе всё ещё живёт, ничего себе Вы приятно удивитесь , но здесь большая половина сидит на 2003 , а у некоторых еще и 97 имеется. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 18:53 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
4z4r(была проблема, что база, созданная в русском 2003 офисе не открывалась в английском 2003 офисе) и что-то там ещё, не помню уже. Брехня , все красиво открывается . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 18:59 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
guest_rusimport... более ты мне не интересен... продолжай изучать сомнительные сайты) Первый раз вижу чтоб guest_rusimport вышел из равновесия. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 19:03 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
D.BПервый раз вижу чтоб guest_rusimport вышел из равновесия. :) наверно много женщин, нервничает, завтра трудный день... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 19:10 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
D.Bguest_rusimport... более ты мне не интересен... продолжай изучать сомнительные сайты) Первый раз вижу чтоб guest_rusimport вышел из равновесия. :) Как мне тут сказала жена, луна в это время была без курса... Возраст, даже уже такие астрологические катаклизмы влияют, видимо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 19:12 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
guest_rusimportMaxFM... Язвите в другом месте. Вопрос по существу. ... Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb. http://my-files.ru/mfhtec наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 21:30 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
Joss4z4rJoss, а какие возможности для вас критичны? Получить законченный продукт. Программу со всеми проверками, обработками ошибок, приятным интерфейсом, простотой установки, лёгкостью модернизации. Масштабируемость в небольших пределах. Такое можно получить на основе Delphi + SQLite или подобных сочетаний. Ну, а access тут "всё в одном" мне нужно было чтобы для работы программы не нужно было дополнительных настроек. по моему анализу это может делать только Access. при том на машине даже не обязательно наличие его самого, достаточно других элементов officе чтобы она могла работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 21:31 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
MaxFMguest_rusimportпропущено... Ты не обижайся, дело не в понтах. Ты ведь хочешь разобраться. Просто 2003 акс не понимает формат accdb. http://my-files.ru/mfhtec наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся. При попытках скачки базы все мои браузеры выдают одну и ту же картинку (( ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 21:58 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
guest_rusimportMaxFMпропущено... http://my-files.ru/mfhtec наконецто разобрался как в этом 2013-м делать сохранение в mdb. напридумывали всякой ерунды а потом сиди и перестраивайся. При попытках скачки базы все мои браузеры выдают одну и ту же картинку (( http://my-files.ru/3ivv3j ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 22:01 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
MaxFMguest_rusimportпропущено... При попытках скачки базы все мои браузеры выдают одну и ту же картинку (( http://my-files.ru/3ivv3j тоже не работает. Вот рабочая, проверил http://transfiles.ru/uh7hu ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 22:05 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
MaxFMMaxFMпропущено... http://my-files.ru/3ivv3j тоже не работает. Вот рабочая, проверил http://transfiles.ru/uh7hu Посмотрел. Под впечатлением... Так делать не надо! Почему? - Попробую объяснить попозже, когда найду время и силы. (Если до этого кто-нибудь ещё не поможет) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2018, 23:24 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
guest_rusimportMaxFMпропущено... тоже не работает. Вот рабочая, проверил http://transfiles.ru/uh7hu Посмотрел. Под впечатлением... Так делать не надо! Почему? - Попробую объяснить попозже, когда найду время и силы. (Если до этого кто-нибудь ещё не поможет) Мдааааа. Звучит как приговор.... Хорошо, жду. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2018, 20:17 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
MaxFMХорошо, жду. Чего? 1. Запрос "быстрый" и запрос "медленный" как-то сравнивать на скорость не очень, у них столбец Цена2 не совпадает. 2. Запрос "медленный" медленный потому что кривой (по крайней мере с точки зрения Акцесса, которому приходится догадываться, что s - это второй раз та же самая таблица во вложенном запросе), удивительно, что он вообще выдает первую страницу, перехода на последнюю запись можно и не дождаться... Кривизну медленного запроса подтверждает и усеченная выборка, например в нем отсутствует 77 запись с кодом товара 10. Если вот это Код: sql 1. 2. 3.
Заменить на вот это Код: sql 1. 2. 3.
То "медленный" запрос уже работает быстрее "быстрого" это видно по времени появления общего количества записей (в вашем быстом на моем компе это секунд 5-8, а в новом уже не медленном буквально сразу). Ну и новый меленный (уже не медленный не теряет записи) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2018, 21:30 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
vmagMaxFMХорошо, жду. Чего? 1. Запрос "быстрый" и запрос "медленный" как-то сравнивать на скорость не очень, у них столбец Цена2 не совпадает. 2. Запрос "медленный" медленный потому что кривой (по крайней мере с точки зрения Акцесса, которому приходится догадываться, что s - это второй раз та же самая таблица во вложенном запросе), удивительно, что он вообще выдает первую страницу, перехода на последнюю запись можно и не дождаться... Кривизну медленного запроса подтверждает и усеченная выборка, например в нем отсутствует 77 запись с кодом товара 10. Если вот это Код: sql 1. 2. 3.
Заменить на вот это Код: sql 1. 2. 3.
То "медленный" запрос уже работает быстрее "быстрого" это видно по времени появления общего количества записей (в вашем быстом на моем компе это секунд 5-8, а в новом уже не медленном буквально сразу). Ну и новый меленный (уже не медленный не теряет записи) Действительно работает даже быстрее моего "быстрого" запроса. Спасибо большое!!!! Я не понимаю почему такая конструкция работает быстрее. Это все таки видимо по опыту работы достигается. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.03.2018, 21:40 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
MaxFM, 1. "Медленный" запрос потому медленный, что неоднократно выполняется сортировка. Уберите сортировку из вспомогательного запроса (qv_заказ) и "медленный" запрос будет работать точно так же, как "быстрый". То есть, разницы между скоростью выборки из запроса и из таблицы нет. 2. "Запрос с ошибкой". Причина ошибки не в том, что в подчиненном запросе стоит ORDER BY, а в том, что этот подчиненный запрос возвращает значительно больше одной записи. Без ORDER BY выдергивается первое попавшееся значение, а с ORDER BY выявляется куча равноценных, среди которых предикат TOP 1 выбор делать не уполномочен и возвращает их все. 3. Какой смысл в подчиненном запросе искать цену партии с бОльшим количеством, если даже привязки к определенному товару нет? Или смысла запрос не должен был содержать, просто Вы хотели доказать, что ORDER BY все портит? В таком случае проведите такой эксперимент. — в таблицу Заказано_full добавьте поле Id (тип счетчик), значения которого станут заведомо уникальны; — в подчиненном запросе сделайте ORDER BY Id - смысла в запросе от этого не прибавится и не убавится, но возвращать он станет не более одного значения. Тут Вы и увидите, что подчиненный запрос работает, невзирая на наличие ORDER BY. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2018, 13:02 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
Спасибо __Michelle и vmag! Вернулся с очередных поздравлений женщин, хотел уже было всё подробно расписать, но тут увидел ваши расширенные, исчерпывающие ответы. __Michelle с прошедшим! Удачи и Успехов во всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2018, 16:26 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
guest_rusimport, Большое спасибо!!! Очень приятно получать поздравления сверх положенного срока!!!))) Спасибо за добрые пожелания!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2018, 16:30 |
|
Создание запроса из запросов
|
|||
---|---|---|---|
#18+
__Michelle, vmag - спасибо за подробные ответы. Все разложили, теперь появилось понимание своих ошибок. guest_rusimport - спасибо за терпение. Т.о. я правильно сделаю вывод что создание запросов из запросов не является причиной торможения его выполнения - тормозят не нужные вторичные сортировки и прочее что заставляет делать одну и туже работу системе несколько раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2018, 23:20 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1611618]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 190ms |
0 / 0 |