Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
Добрый день. Возможно кто-то сможет подсказать, в чем проблема. Меня ситуация с временем выполнения запроса поставила в глухой тупик. Имеем Delphi 7 + MSSQL 2005. База для чистоты эксперимента пустая. Элементарные запросы: Select count(*) From Towns4.016 сек Select * From Towns0.024 сек И еще любопытней: If 1=1 Select count(*) From Towns4.022 сек но If 1=1 Select count(*) From Towns else Select count(*) From Towns0.005 сек скриншот: ![]() Проект с запросами прикреплен, если кому хочется быстро попробовать и убедиться. База пустая, одна таблица Towns. Спасибо за внимание К сообщению приложен файл (Test.7z - 3Kb) cкачать ![]() |
18 сен 12, 11:50 [13181039] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А почему разные запросы должны работать за одинаковое время ? |
18 сен 12, 11:51 [13181044] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
Glory, За одинаковые не должны, конечно. они за доли секунды все должны выполняться. Откуда 4 секунды на выполнение Select Count(*) из таблицы, в которой 2 строки? В SQL Server Management Studio все выполняется мгновенно. |
18 сен 12, 11:55 [13181077] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Кому должны ?
Хороший вопрос. Откуда какая то ваша программа берет именно время выполнения запроса _на сервере_ ? Тем более что в другой программе "SQL Server Management Studio все выполняется мгновенно" |
||||
18 сен 12, 11:56 [13181095] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
Glory, Вы шутите? Засекает и считает, откуда же еще. Должны не мне, а по определению. Не нужно отвечать, если Вам нечего сказать. |
18 сен 12, 12:00 [13181123] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Вы вопрос понимаете ? Откуда какая то ваша программа берет именно время выполнения запроса _на сервере_ ? "засекает и считает" - это такие команды на сервере вы выполняете ?
По-видимому, вам все вокруг должны. |
||||
18 сен 12, 12:03 [13181151] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
|
||
18 сен 12, 12:09 [13181218] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
alexeyvg, Виноват, не пояснил. Это не совсем программа, это пустая форма с четырьмя запросами, больше там вообще ничего нет. Специальна сделана, для того чтобы убедиться, что тратятся действительно 4 секунды. |
18 сен 12, 12:14 [13181279] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Т.е. там нет - ни соединения с сервером - ни методов переждачи серверу команд - ни методов выборки результатов ? Там по всей видимости есть только нечто называемое "засекает и считает" |
||
18 сен 12, 12:18 [13181331] Ответить | Цитировать Сообщить модератору |
qwerty112
Guest |
"неубедился" :)) К сообщению приложен файл. Размер - 36Kb |
||
18 сен 12, 12:21 [13181357] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
qwerty112, Очень любопытно. Спасибо, большое, я для этого код и выложил. Delphi 7, MSSQL 2005? |
18 сен 12, 12:25 [13181407] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
Glory, TADOConnection и 4 TADOQuery. Больше ничего. |
||||
18 сен 12, 12:26 [13181418] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А это уже компоненты сервера что ли ? Как вы вообще разделяете то, что происходит в вашей программе, и то, что происходит на сервере ? |
||
18 сен 12, 12:28 [13181436] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
|
||
18 сен 12, 12:30 [13181466] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47045 |
Время передачи данных с сервера на клиент всегда одинаковое, да? На сервере всегда работает один процесс? Что Profiler-то показывает? И не надо больше про Delphi. При чём он тут? |
||
18 сен 12, 12:33 [13181492] Ответить | Цитировать Сообщить модератору |
qwerty112
Guest |
Delphi 7, МС СКЛ 2000 |
||
18 сен 12, 12:36 [13181527] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
iap, Профайлер показывает мгновенное выполнение. Сервер больше ничем не занят, он локальный. Сомневаюсь что операционная система чем-то занята на 4 секунда, да еще строго в зависимости от текст запроса. Delphi виноват или нет - я не пойму. На сервере все выполняется моментально, я добавил в запрос проверку времени выполнения. Люфт по времени происходит после выполнения сервером запроса при передаче данных с сервера на клиент. |
18 сен 12, 12:39 [13181556] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Результаты с сервера забирает клиент. |
||
18 сен 12, 12:42 [13181591] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47045 |
Дальше все вопросы - к компонентам доступа к данным, драйверам с их настройками, дельфийскому коду и т.д. и т.п. |
||
18 сен 12, 12:47 [13181660] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
iap, Вы что-нибудь меняли в настройках ADOConnection и ADOQuery ? |
18 сен 12, 12:49 [13181684] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
qwerty112, Спасибо. Логическим путем стало понятно, что поменять можно было только поставщика данных и связку с сервером. Всем спасибо, тема закрыта. Виноват был Microsoft OLE DB Provider for SQL Server. По каким-то непонятным причинам он выполнял переподключение к серверу. При изменении на SQL Native Client проблема исчезла. |
18 сен 12, 12:54 [13181744] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Так кому там чего должны запросы то были по определению ? Вам есть, что сказать то ? |
||
18 сен 12, 12:56 [13181760] Ответить | Цитировать Сообщить модератору |
Python of Jungle Member Откуда: Ставрополь Сообщений: 33 |
Glory, Есть. Но я пожалуй не буду с троллями разговаривать :) |
18 сен 12, 12:57 [13181769] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну конечно. Как указывать, кто, как и что должен отвечать, так это нормально. А как за свои слова ответить - так это с троллями разговаривать. |
||
18 сен 12, 12:59 [13181784] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47045 |
|
||
18 сен 12, 13:01 [13181801] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |