powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Слишком долгое выполнение выборки
10 сообщений из 10, страница 1 из 1
Слишком долгое выполнение выборки
    #40102386
alexpigalyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Мне нужна помощь, по SQL запросу, как его можно ускорить, нужны советы.

SELECT TOP 1 *
INTO #selectedOrder
FROM [Exchange].[dbo].[BTC_USDT_OpenOrders]
WHERE IsBuy = 0 AND @price >= Price
ORDER BY Price

Буду очень благодарен, если у кого-то получится помочь
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102389
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexpigalyov,

Приаттачте план в xml-формате.
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102391
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
alexpigalyov
нужны советы.


Советую: прочитать тему с рекомендациями, как задавать вопросы , особенно п.6. Приложить план запроса и попробовать спросить ещё раз.

А то пока тут только на кофе можно гадать
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102392
alexpigalyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавил план выполнения
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102397
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
alexpigalyov,

Вообще, судя по плану, у вас запрос выполняется за 0,002 секунды. Но правда ваша, его можно ускорить.

У вас не работает поиск по индексу (потому что индекса подходящего нет). То есть, отбор нужных строк выполняется не по ключу индекса, а просто перебором (сканированием) существующих строк в индексе.

Если бы индекс помогал искать данные, то условия отбора были бы в секции Seek Predicate и это было бы быстро. У вас же условия в секции Predicate, то есть, проверяются уже после того, как строка была считана с диска.

Добавьте индекс по полям отбора и запрос будет тратить минимум ресурсов

Код: sql
1.
create index ndx1 on BTC_USDT_OpenOrders (IsBuy , Price)


или даже
Код: sql
1.
create index ndx2 on BTC_USDT_OpenOrders (Price) where IsBuy  = 0
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102398
alexpigalyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0wl, Возможно и быстро, но когда я запускаю нагрузку на всю свою хранимую процедуру, в которой 7 запросов включая этот, то нагрузка на мой процессор становится 50-60% А вызов это процедуры иногда достигает до 50 запросов в секунду.
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102399
alexpigalyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexpigalyov,
Но по плану запроса я понял, что эта выборка больше всего по времени занимает, то, что она тут 0.002с это какая-то случайность) Когда я запускал она была намного больше
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102418
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexpigalyov,

если намного больше, то может быть конфликт читателей и писателей, например.
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102422
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexpigalyov
alexpigalyov,
Но по плану запроса я понял, что эта выборка больше всего по времени занимает, то, что она тут 0.002с это какая-то случайность) Когда я запускал она была намного больше


Не, ну это не порядок, конечно
...
Рейтинг: 0 / 0
Слишком долгое выполнение выборки
    #40102437
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexpigalyov
Всем привет! Мне нужна помощь, по SQL запросу, как его можно ускорить, нужны советы.

SELECT TOP 1 *
INTO #selectedOrder
FROM [Exchange].[dbo].[BTC_USDT_OpenOrders]
WHERE IsBuy = 0 AND @price >= Price
ORDER BY Price

Буду очень благодарен, если у кого-то получится помочь


Нибось охулиардная таблица [BTC_USDT_OpenOrders]?

Хочешь быстро - нужен индекс (IsBuy, Price).
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Слишком долгое выполнение выборки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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