powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос SSMS выполняется разное время
22 сообщений из 22, страница 1 из 1
Запрос SSMS выполняется разное время
    #40046134
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, гуру и остальные!
Подскажите пожалуйста, с чем может быть связана такая ситуация:
С 2 разных рабочих машин, подключенных к одному MS SQL Серверу выполняют запрос:

SELECT *
FROM [dbo].[Messages]

~25000 строк

С одной машины запрос выполняется 80 секунд, с другой - 12.
Такой разброс в результатах странный, ведь запрос выполняется на сервере(?)
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046142
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr,

между сервером и пользователем сеть есть? или провода разные?
их клиентские машины по конфигурации под нагрузками совсем одинаковые?
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046146
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
Добрый день, гуру и остальные!
Подскажите пожалуйста, с чем может быть связана такая ситуация:
С 2 разных рабочих машин, подключенных к одному MS SQL Серверу выполняют запрос:

SELECT *
FROM [dbo].[Messages]

~25000 строк

С одной машины запрос выполняется 80 секунд, с другой - 12.
Такой разброс в результатах странный, ведь запрос выполняется на сервере(?)


Выполняется на сервере, а результаты передаются и отображаются на клиенте.

Судя по названию таблицы, там вполне могут быть поля больших размеров.


Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните

SELECT *
INTO #t
FROM [dbo].[Messages]
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046147
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikkiv
drgdr,

между сервером и пользователем сеть есть? или провода разные?
их клиентские машины по конфигурации под нагрузками совсем одинаковые?


да, машины разные, сетевухи разные (у того который медленнее выполняет запрос - 100Мбит, у того который быстрее - 1Гбит)
я считал раз селект выполняется на сервере, значит и скорость выполнения должна быть одинаковой несмотря на различия в сетевой конфигурации (?)
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046153
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
vikkiv
drgdr,

между сервером и пользователем сеть есть? или провода разные?
их клиентские машины по конфигурации под нагрузками совсем одинаковые?


да, машины разные, сетевухи разные (у того который медленнее выполняет запрос - 100Мбит, у того который быстрее - 1Гбит)
я считал раз селект выполняется на сервере, значит и скорость выполнения должна быть одинаковой несмотря на различия в сетевой конфигурации (?)


а 25000 строк результата как-то и куда-то тянутся?
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046161
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин
drgdr
пропущено...


да, машины разные, сетевухи разные (у того который медленнее выполняет запрос - 100Мбит, у того который быстрее - 1Гбит)
я считал раз селект выполняется на сервере, значит и скорость выполнения должна быть одинаковой несмотря на различия в сетевой конфигурации (?)


а 25000 строк результата как-то и куда-то тянутся?


понятно, просто почему-то не учитывал это. как подсчитать количество информации в КБ, которое передает запрос?
дизайн таблицы во вложении
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046167
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
drgdr
Добрый день, гуру и остальные!
Подскажите пожалуйста, с чем может быть связана такая ситуация:
С 2 разных рабочих машин, подключенных к одному MS SQL Серверу выполняют запрос:

SELECT *
FROM [dbo].[Messages]

~25000 строк

С одной машины запрос выполняется 80 секунд, с другой - 12.
Такой разброс в результатах странный, ведь запрос выполняется на сервере(?)


Выполняется на сервере, а результаты передаются и отображаются на клиенте.

Судя по названию таблицы, там вполне могут быть поля больших размеров.


Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните

SELECT *
INTO #t
FROM [dbo].[Messages]


выполнили - запрос выполняется за 24-26 секунд на обеих машинах.
дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных?
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046170
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
msLex
пропущено...


Выполняется на сервере, а результаты передаются и отображаются на клиенте.

Судя по названию таблицы, там вполне могут быть поля больших размеров.


Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните

SELECT *
INTO #t
FROM [dbo].[Messages]


выполнили - запрос выполняется за 24-26 секунд на обеих машинах.
дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных?

Включить в SSMS перед выполнение запроса (который без into #t) сбор клиентской статистики (shift+alt+s по дефолту)
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046179
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
drgdr
пропущено...


выполнили - запрос выполняется за 24-26 секунд на обеих машинах.
дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных?

Включить в SSMS перед выполнение запроса (который без into #t) сбор клиентской статистики (shift+alt+s по дефолту)


Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ???
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046180
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
msLex
пропущено...


Выполняется на сервере, а результаты передаются и отображаются на клиенте.

Судя по названию таблицы, там вполне могут быть поля больших размеров.


Для нивелирования влияния клиентского хоста и сетью между ним и сервером, выполните

SELECT *
INTO #t
FROM [dbo].[Messages]


выполнили - запрос выполняется за 24-26 секунд на обеих машинах .
дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных?


+ это ваша фраза
"С одной машины запрос выполняется 80 секунд, с другой - 12 ."

Как понять резкое увеличение? или вас не колебает, выравнялось и х.с.н ?
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046186
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин

Как понять резкое увеличение?

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

А с учетом 1.2ГБ это вполне реально.
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046187
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин
drgdr
пропущено...


выполнили - запрос выполняется за 24-26 секунд на обеих машинах .
дизайн таблицы я выше запостил, подскажете как посчитать размер передаваемых данных?


+ это ваша фраза
"С одной машины запрос выполняется 80 секунд, с другой - 12 ."

Как понять резкое увеличение? или вас не колебает, выравнялось и х.с.н ?


Вообще-то это пока проект, и такой большой запрос с выводом всех полей на рабочей базе делать не собираемся. Я предполагаю, что это из-за ширины канала. Поэтому и хотел бы узнать размер передаваемых данных.
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046194
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ???


С учетом 3-х ntext полей, вполне реально


ну и для проверки

Код: sql
1.
exec sp_spaceused '[dbo].[Messages]'



и

Код: sql
1.
2.
select sum(datalength(MsgBody)), sum(datalength(RowMessage)), sum(datalength(PlainBody))
from  [dbo].[Messages]  
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046206
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
Вообще-то это пока проект

Тогда еще есть возможность отказаться от ntext в пользу nvarchar(max)
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046255
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
drgdr
Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ???


С учетом 3-х ntext полей, вполне реально


ну и для проверки

Код: sql
1.
exec sp_spaceused '[dbo].[Messages]'



и

Код: sql
1.
2.
select sum(datalength(MsgBody)), sum(datalength(RowMessage)), sum(datalength(PlainBody))
from  [dbo].[Messages]  

...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046256
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
drgdr
Сделал (только там shift+alt+s) и слегка не понял что он выдал: 1334110000 байт = 1,2ГБ???


С учетом 3-х ntext полей, вполне реально


ну и для проверки

Код: sql
1.
exec sp_spaceused '[dbo].[Messages]'



и

Код: sql
1.
2.
select sum(datalength(MsgBody)), sum(datalength(RowMessage)), sum(datalength(PlainBody))
from  [dbo].[Messages]  

...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046258
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex,

спасибо за дельный совет. большая разница в размере?
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046259
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr,
Что и требовалось доказать

Таблица у вас "весит" 1.4 GB, из низ почти 1.3GB это MsgBody и PlainBody
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046262
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr
msLex,

спасибо за дельный совет. большая разница в размере?

Между ntext и nvarchar(max)?
Нет.
1.4 ГБ текста это 1.4 ГБ текста.
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046328
Sybex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто ntext - это устаревший тип данных, оставленный только для обратной совместимости. Вместо него рекомендуется использовать nvarchar(MAX). Типы text/ntext могут привнести лишней головной боли при работе с ними, т.к. они не поддерживаются частью функций. Короче, если у вас есть возможность от них избавиться, лучше сделайте это как можно скорее.
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046345
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drgdr,

Какая еще версия сервера?
Судя по картинке, у вас еще используются
ntext, image, datetime - эти типы признаны устаревшими и вместо них предпочтительно использовать nvarchar(max), varbinary(max), datetime2
...
Рейтинг: 0 / 0
Запрос SSMS выполняется разное время
    #40046730
drgdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X-Cite,
2019
15.0.2070.41
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос SSMS выполняется разное время
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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