|
|
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#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:27 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
alexpigalyov, Приаттачте план в xml-формате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 16:35:20 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
alexpigalyov нужны советы. Советую: прочитать тему с рекомендациями, как задавать вопросы , особенно п.6. Приложить план запроса и попробовать спросить ещё раз. А то пока тут только на кофе можно гадать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 16:37:27 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
Добавил план выполнения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 16:39:21 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
alexpigalyov, Вообще, судя по плану, у вас запрос выполняется за 0,002 секунды. Но правда ваша, его можно ускорить. У вас не работает поиск по индексу (потому что индекса подходящего нет). То есть, отбор нужных строк выполняется не по ключу индекса, а просто перебором (сканированием) существующих строк в индексе. Если бы индекс помогал искать данные, то условия отбора были бы в секции Seek Predicate и это было бы быстро. У вас же условия в секции Predicate, то есть, проверяются уже после того, как строка была считана с диска. Добавьте индекс по полям отбора и запрос будет тратить минимум ресурсов Код: sql 1. или даже Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 16:51:47 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
0wl, Возможно и быстро, но когда я запускаю нагрузку на всю свою хранимую процедуру, в которой 7 запросов включая этот, то нагрузка на мой процессор становится 50-60% А вызов это процедуры иногда достигает до 50 запросов в секунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 16:56:38 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
alexpigalyov, Но по плану запроса я понял, что эта выборка больше всего по времени занимает, то, что она тут 0.002с это какая-то случайность) Когда я запускал она была намного больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 16:57:24 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
alexpigalyov, если намного больше, то может быть конфликт читателей и писателей, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 17:35:26 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#18+
alexpigalyov alexpigalyov, Но по плану запроса я понял, что эта выборка больше всего по времени занимает, то, что она тут 0.002с это какая-то случайность) Когда я запускал она была намного больше Не, ну это не порядок, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2021, 17:40:20 |
|
||
|
Слишком долгое выполнение выборки
|
|||
|---|---|---|---|
|
#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:55 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=12&tid=1684228]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 361ms |

| 0 / 0 |
