|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
Добрый день, гуру и остальные! Подскажите пожалуйста, с чем может быть связана такая ситуация: С 2 разных рабочих машин, подключенных к одному MS SQL Серверу выполняют запрос: SELECT * FROM [dbo].[Messages] ~25000 строк С одной машины запрос выполняется 80 секунд, с другой - 12. Такой разброс в результатах странный, ведь запрос выполняется на сервере(?) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 11:51 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr, между сервером и пользователем сеть есть? или провода разные? их клиентские машины по конфигурации под нагрузками совсем одинаковые? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:03 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr Добрый день, гуру и остальные! Подскажите пожалуйста, с чем может быть связана такая ситуация: С 2 разных рабочих машин, подключенных к одному MS SQL Серверу выполняют запрос: SELECT * FROM [dbo].[Messages] ~25000 строк С одной машины запрос выполняется 80 секунд, с другой - 12. Такой разброс в результатах странный, ведь запрос выполняется на сервере(?) Выполняется на сервере, а результаты передаются и отображаются на клиенте. Судя по названию таблицы, там вполне могут быть поля больших размеров. Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните SELECT * INTO #t FROM [dbo].[Messages] ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:12 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
vikkiv drgdr, между сервером и пользователем сеть есть? или провода разные? их клиентские машины по конфигурации под нагрузками совсем одинаковые? да, машины разные, сетевухи разные (у того который медленнее выполняет запрос - 100Мбит, у того который быстрее - 1Гбит) я считал раз селект выполняется на сервере, значит и скорость выполнения должна быть одинаковой несмотря на различия в сетевой конфигурации (?) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:14 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr vikkiv drgdr, между сервером и пользователем сеть есть? или провода разные? их клиентские машины по конфигурации под нагрузками совсем одинаковые? да, машины разные, сетевухи разные (у того который медленнее выполняет запрос - 100Мбит, у того который быстрее - 1Гбит) я считал раз селект выполняется на сервере, значит и скорость выполнения должна быть одинаковой несмотря на различия в сетевой конфигурации (?) а 25000 строк результата как-то и куда-то тянутся? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:19 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
Ролг Хупин drgdr пропущено... да, машины разные, сетевухи разные (у того который медленнее выполняет запрос - 100Мбит, у того который быстрее - 1Гбит) я считал раз селект выполняется на сервере, значит и скорость выполнения должна быть одинаковой несмотря на различия в сетевой конфигурации (?) а 25000 строк результата как-то и куда-то тянутся? понятно, просто почему-то не учитывал это. как подсчитать количество информации в КБ, которое передает запрос? дизайн таблицы во вложении ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:29 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
msLex drgdr Добрый день, гуру и остальные! Подскажите пожалуйста, с чем может быть связана такая ситуация: С 2 разных рабочих машин, подключенных к одному MS SQL Серверу выполняют запрос: SELECT * FROM [dbo].[Messages] ~25000 строк С одной машины запрос выполняется 80 секунд, с другой - 12. Такой разброс в результатах странный, ведь запрос выполняется на сервере(?) Выполняется на сервере, а результаты передаются и отображаются на клиенте. Судя по названию таблицы, там вполне могут быть поля больших размеров. Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните SELECT * INTO #t FROM [dbo].[Messages] выполнили - запрос выполняется за 24-26 секунд на обеих машинах. дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:34 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr msLex пропущено... Выполняется на сервере, а результаты передаются и отображаются на клиенте. Судя по названию таблицы, там вполне могут быть поля больших размеров. Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните SELECT * INTO #t FROM [dbo].[Messages] выполнили - запрос выполняется за 24-26 секунд на обеих машинах. дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных? Включить в SSMS перед выполнение запроса (который без into #t) сбор клиентской статистики (shift+alt+s по дефолту) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:39 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
msLex drgdr пропущено... выполнили - запрос выполняется за 24-26 секунд на обеих машинах. дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных? Включить в SSMS перед выполнение запроса (который без into #t) сбор клиентской статистики (shift+alt+s по дефолту) Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:51 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr msLex пропущено... Выполняется на сервере, а результаты передаются и отображаются на клиенте. Судя по названию таблицы, там вполне могут быть поля больших размеров. Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните SELECT * INTO #t FROM [dbo].[Messages] выполнили - запрос выполняется за 24-26 секунд на обеих машинах . дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных? + это ваша фраза "С одной машины запрос выполняется 80 секунд, с другой - 12 ." Как понять резкое увеличение? или вас не колебает, выравнялось и х.с.н ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:51 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
Ролг Хупин Как понять резкое увеличение? Тем, что данные нужно не только прочитать но еще и сохранить, пусть и в памяти. А с учетом 1.2ГБ это вполне реально. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:56 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
Ролг Хупин drgdr пропущено... выполнили - запрос выполняется за 24-26 секунд на обеих машинах . дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных? + это ваша фраза "С одной машины запрос выполняется 80 секунд, с другой - 12 ." Как понять резкое увеличение? или вас не колебает, выравнялось и х.с.н ? Вообще-то это пока проект, и такой большой запрос с выводом всех полей на рабочей базе делать не собираемся. Я предполагаю, что это из-за ширины канала. Поэтому и хотел бы узнать размер передаваемых данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 12:57 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ??? С учетом 3-х ntext полей, вполне реально ну и для проверки Код: sql 1.
и Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 13:00 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr Вообще-то это пока проект Тогда еще есть возможность отказаться от ntext в пользу nvarchar(max) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 13:06 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
msLex drgdr Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ??? С учетом 3-х ntext полей, вполне реально ну и для проверки Код: sql 1.
и Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 14:04 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
msLex drgdr Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ??? С учетом 3-х ntext полей, вполне реально ну и для проверки Код: sql 1.
и Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 14:04 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
msLex, спасибо за дельный совет. большая разница в размере? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 14:05 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr, Что и требовалось доказать Таблица у вас "весит" 1.4 GB, из низ почти 1.3GB это MsgBody и PlainBody ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 14:07 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr msLex, спасибо за дельный совет. большая разница в размере? Между ntext и nvarchar(max)? Нет. 1.4 ГБ текста это 1.4 ГБ текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 14:10 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
Просто ntext - это устаревший тип данных, оставленный только для обратной совместимости. Вместо него рекомендуется использовать nvarchar(MAX). Типы text/ntext могут привнести лишней головной боли при работе с ними, т.к. они не поддерживаются частью функций. Короче, если у вас есть возможность от них избавиться, лучше сделайте это как можно скорее. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 16:18 |
|
Запрос SSMS выполняется разное время
|
|||
---|---|---|---|
#18+
drgdr, Какая еще версия сервера? Судя по картинке, у вас еще используются ntext, image, datetime - эти типы признаны устаревшими и вместо них предпочтительно использовать nvarchar(max), varbinary(max), datetime2 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2021, 17:17 |
|
|
start [/forum/topic.php?fid=46&msg=40046345&tid=1685066]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 251ms |
0 / 0 |