|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
Всем привет! Мне нужна помощь, по SQL запросу, как его можно ускорить, нужны советы. SELECT TOP 1 * INTO #selectedOrder FROM [Exchange].[dbo].[BTC_USDT_OpenOrders] WHERE IsBuy = 0 AND @price >= Price ORDER BY Price Буду очень благодарен, если у кого-то получится помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:24 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
alexpigalyov, Приаттачте план в xml-формате. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:35 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
alexpigalyov нужны советы. Советую: прочитать тему с рекомендациями, как задавать вопросы , особенно п.6. Приложить план запроса и попробовать спросить ещё раз. А то пока тут только на кофе можно гадать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:37 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
Добавил план выполнения ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:39 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
alexpigalyov, Вообще, судя по плану, у вас запрос выполняется за 0,002 секунды. Но правда ваша, его можно ускорить. У вас не работает поиск по индексу (потому что индекса подходящего нет). То есть, отбор нужных строк выполняется не по ключу индекса, а просто перебором (сканированием) существующих строк в индексе. Если бы индекс помогал искать данные, то условия отбора были бы в секции Seek Predicate и это было бы быстро. У вас же условия в секции Predicate, то есть, проверяются уже после того, как строка была считана с диска. Добавьте индекс по полям отбора и запрос будет тратить минимум ресурсов Код: sql 1.
или даже Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:51 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
0wl, Возможно и быстро, но когда я запускаю нагрузку на всю свою хранимую процедуру, в которой 7 запросов включая этот, то нагрузка на мой процессор становится 50-60% А вызов это процедуры иногда достигает до 50 запросов в секунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:56 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
alexpigalyov, Но по плану запроса я понял, что эта выборка больше всего по времени занимает, то, что она тут 0.002с это какая-то случайность) Когда я запускал она была намного больше ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 16:57 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
alexpigalyov, если намного больше, то может быть конфликт читателей и писателей, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 17:35 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
alexpigalyov alexpigalyov, Но по плану запроса я понял, что эта выборка больше всего по времени занимает, то, что она тут 0.002с это какая-то случайность) Когда я запускал она была намного больше Не, ну это не порядок, конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 17:40 |
|
Слишком долгое выполнение выборки
|
|||
---|---|---|---|
#18+
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). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2021, 18:15 |
|
|
start [/forum/search_topic.php?author=baursak3k&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 730ms |
total: | 966ms |
0 / 0 |