3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
||||||
Очень долго выполняется запрос SQL21.09.2017, 07:38. Показов 23926. Ответов 24
Метки нет Все метки)
(
Добрый день!
Товарищи, помогите разобраться почему SQL запрос выполняется жутко долго (2,5 минуты) Как и где можно протестировать этот несчастный запрос.
Спасибо всем огромное
0
|
21.09.2017, 07:38 | |
Ответы с готовыми решениями:
24
MS SQL. Запрос долго выполняется Очень долго выполняется запрос Подключение к SQLServer Express 2014 длится очень долго |
21.09.2017, 10:41 | |
разбить на подзапросы, найти самый длинный
скормить запрос профайлеру и посмотреть рекомендации
0
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,271
|
|
21.09.2017, 10:49 | |
Во-первых, вы можете написать так, чтобы запрос был виден на экране?
Во-вторых, что там у вас с индексами? В-третьих, накладывая ограничения на функцию DATEPART, вы думаете, что будут использоваться какие-нибудь индексы? В-четвёртых, зачем там TOP(100) PERCENT? В-пятых, чего там подзапрос на подзапросе? Попроще никак?
0
|
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,271
|
|||||||
21.09.2017, 14:53 | |||||||
Начиная с SQL2005 TOP(100) PERCENT ORDER BY игнорируется. Я достал его "запрос", и что же оказалось? TOP(100) PERCENT написано и в подзапросах. Зачем? Кроме того, это не настоящий запрос, ибо там встречается такое:
Я неправ. Это, конечно же, не C#. Опреция -> применяется к указателям в C и C++
0
|
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
|
25.09.2017, 06:49 [ТС] | |
iap, TOP(100) PERCENT и Дата никак не влияют на быстродействие запроса. Запрос этот выполняется в C++ Builder, и как он может быть не настоящим если результат возвращает, но оооочень долго?
Запрос возвращает три столбца, поэтому и используется TOP(100) PERCENT
0
|
25.09.2017, 12:46 | |||
а если нужно вывести 4 столбца? разбил на подзапросы? профайлеру скормил? раз медленно выполняется - или железо, или сам запрос проблемы с железом можно выявить в наблюдая за счетчиками проблемы с запросом - тут нужно знать что и зачем ты тащишь (и структуру БД - таблицы, колонки, индексы)
0
|
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
|
25.09.2017, 13:39 [ТС] | |
qwertehok, все, узнала откуда TOP(100) PERCENT взялось...я запрос создаю в Management Studio 2008, в конструкторе эта часть автоматом подставляется
На подзапросы разобрала. Они шустро выполняются. Немного дольше выполняется запрос где идет расчет разности между двумя строками Про "скормить профайлеру" не понимаю..
0
|
1 / 2 / 3
Регистрация: 24.06.2016
Сообщений: 47
|
||
25.09.2017, 20:58 | ||
Временные таблицы и использование индексов тебе помогут ускорить процесс вышеуказанный запрос в помойку пиши заново и даже не заглядывай в этот ужас про план запроса вообще все промолчали, там и будет видно что именно тормозит
0
|
25.09.2017, 23:10 | ||||
если же стоит цель - оптимизировать, тогда лучше описать свою БД и тебе подскажут запрос
0
|
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
|
26.09.2017, 07:39 [ТС] | |
qwertehok, про профайлер обязательно почитаю.
Запрос нужен для работы, поэтому его нужно сейчас привести в божеский вид БД: таблица [Report] Time |Hour|Lk14_summ 01.09.2017|12 |6452654 01.09.2017|13 |6452775 таблица [Примечание] Дата | Время | Позиция | Примечание 01.09.2017 12:10:00 |12:00:00| л/к 14 |Примечание_текст Необходимо: Получить три столбца: Примечание, кол-во, переработка логика такая: проверять разность Lk14_summ(переработка), если она меньше 121, тогда из таблицы Примечание, получать текст примечания, где дата и время = Time и Hour таблицы Report
0
|
26.09.2017, 08:30 | |||
индексы по колонкам Дата и Время созданы? общий размер таблицы какой? что у вас за сервер? железо какое? винты какие?
0
|
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
|
26.09.2017, 11:56 [ТС] | |
qwertehok, данные о времени и дате хранятся по разному, потому что эта БД досталась мне в "наследство" от предшественника. Он сам не может сейчас сказать почему так проектировал. Переделать не могу, т.к. база рабочая.
Период в запросе выбирается пользователем, но период не более 2 месяцев.
0
|
26.09.2017, 12:11 | ||||
0
|
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
||||||
26.09.2017, 12:45 [ТС] | ||||||
qwertehok, сейчас написала кусочек запроса который высчитывает разность между двумя строчками
индексы по колонкам не созданы про общий размер таблицы не знаю, большая. столбцов только 97 server 2003, ;железо и винты не знаю. У меня доступ только к разделу с бд
0
|
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
|
|
26.09.2017, 13:05 [ТС] | |
demin, да, правы, тормозит..выполняется дольше чем более объемный запрос. Но я больше не знаю как сделать разницу между двумя строчками
0
|
26.09.2017, 13:05 | |
Помогаю со студенческими работами здесь
20
Запрос выполняется очень долго
Простой запрос выполняется очень долго SQL-запрос долго выполняется (INSERT) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
|
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
|
Настройка MTProxy
Loafer 11.06.2025
Дополнительная информация к инструкции по настройке MTProxy:
Перед сборкой проекта необходимо добавить флаг -fcommon в конец переменной CFLAGS в Makefile.
Через crontab -e добавить задачу:
0 3. . .
|
Изучаем Docker: что это, как использовать и как это работает
Mr. Docker 10.06.2025
Суть Docker проста - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер, если говорить образно, это запечатанная коробка, в которой находится ваше приложение вместе. . .
|
Тип Record в C#
stackOverflow 10.06.2025
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы. . .
|
Разработка плагина для Minecraft
Javaican 09.06.2025
За годы существования Minecraft сформировалась сложная экосистема серверов. Оригинальный (ванильный) сервер не поддерживает плагины, поэтому сообщество разработало множество альтернатив. CraftBukkit. . .
|
Dapper - лучший среди микроORM под C#
UnmanagedCoder 09.06.2025
Знаете, в мире ORM-инструментов для . NET существует негласная иерархия. На вершине массивных фреймворков возвышается Entity Framework - неповоротливый, но всемогущий. А в категории легковесных. . .
|
Сравнение GCC 14 и Clang 18 компиляторов C для HPC
bytestream 08.06.2025
В высокопроизводительных вычислениях (HPC) выбор компилятора - это ход, способный радикально изменить производительность всей системы. Работая последние 15 лет с критическими HPC-системами, я видел. . .
|
Всё о конфигурации ASP.NET Core
stackOverflow 08.06.2025
Старый добрый web. config, похоже, отправился на пенсию вместе с классическим ASP. NET. За годы работы с различными проектами я убедился, что хорошо организованная конфигурация – это половина успеха. . .
|