Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом загруз ЦП up 100% - (( как ускорить работу этого простого query ? . заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 08:22 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
Количество записей это еще не все. Каков размер таблицы ? Средний размер записи ? Какими ресурсами располагает ваш сервер ? Дисковые контроллеры, сами диски, память, процессор(ы) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 08:53 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
кол-во полей - 33. половина-int(4),остальные-varchar(50). касаемо железа: пробовал на P4-1.5G,mem-256M, и на других машинах , такая же фигня. имхо, проблема не в железе -(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 09:21 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
50000 записей за 8 секунд - это очень быстро, по идее должно медленнее хотя у Вас компьтер хороший ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 10:59 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
а мне казалось , что 50000 rows - это семечки для сиквел-сервака....(((( Господа, рассудите , ваше мнение ???? Благодарю ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 11:03 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
По моим подсчетам минимальный размер вашей таблицы должен составлять около 49Mb (это если вы мне правильно сообщили количество и тип полей). А теперь посчитайте сами за сколько времени ваша дисковая система (скорее всего IDE) прочитает такой объем, передаст это через сеть (с какой пропускной способностью ?) и клиент (QA ?) сохранит где-то у себя полученный набор. Плюс накладные расходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 11:13 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
Glory, спасибо за попытку помочь -) Продолжаем. 1.насчет 49Мб, по моим подсчетам, на самом деле ента табличка занимает порядка 10-15 метров. 2.касаемо дисковой подсистемы - SELECT выполнялся на HP-servere (P3-1G/256Mb) c RAID-массивом, ес-но SCSI и Perfomance monitor показал ,что при данном query дисковая подсистема загружается максимум на половину. 3.сеть ваще ни причем - SELECT делается локально в Enterprise Manager. спасибо, буду рад любым предположениям ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 11:31 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
1. Извиняюсь, описался, нужно читать "максимальный" размер. 2. IMHO для такого запроса все-таки критичнее скорость чтения данных. Не думаю, что оптимизатор запроса на простом select * будет вводить какие-то дополнительные операции. Все в конце-концов упрется в дисковые операции, которые от SQL-я и не зависят Если у вас аппаратный RAID, то возможно надо посмотреть установки контроллера на предмет кэша(write back/through). Можно сравнить время копирования файла такого же размера с времнем работы запроса. Если программный RAID, то скажите какого уровня. Большую роль могут сыграть и драйвера контроллера. 3. Нахождение клиента на локальной машине не освобождает последнего от записи полученного набора в свои временные файлы. Кроме того EM не самое лучшее средство для тестирования производительности запросов (а 8 секунд это вы там на глаз что-ли определили). QA гораздо лучше и информативнее А сколько кстати оперативной памяти досталось на долю SQL сервера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 12:44 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
А зачем собствено просматрывать 50000 записей? Думаю надо хорошо подумать над задачей а не над ее выполнением. Иначе можно загрузить любой сервер... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 17:09 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
IMHO: 1. Помещение SQL Server на один компьютер с клиентом не снимает автоматом вопросы, связанные с сетевой картой. Если в настройках сетевых библиотек клиента и сервера задействованы сетевые протоколы, а не shared memory, то параметры сетевой карты за скобки вынесены быть не могут. 2. Если вы полагаете, что помещение на один компьютер клиента с сервером должны приводить к совокупному увеличению быстродействия, то это не совсем корректное предположение. Довольно часто можно получить эффект как раз противоположный. Связано это с тем, что запущенные на одном компьютере, клиент с сервером являются приложениями, конкурирующими друг с другом в плане использования ресурсов компьютера, более всего, оперативной памяти. Периодическая активность и изменение потребности в памяти то клиента, то сервера, может приводить к частым операциям динамической перестройки параметров SQL-сервера (а именно, занимаемой им оперативной памяти), которые требуют дополнительных временных затрат. Я уже не говорю о критической ситуации с острой нехваткой оперативной памяти, в которой клиент с сервером начинают взаимно выталкивать друг друга в файл свопинга, что может привести не просто к притормаживанию, а к тормозам с большой буквы "Т". 3. Приведенный вариант SQL-запроса являет собой пример плохо продуманной идеологии работы клиент-серверного приложения. БД SQL-сервера действительно может выступать в качестве хранилища больших объемов информации. Грамотно построенное клиентское приложение позволяет пользователю удобным для себя образом задавать критерии выборки нужной ему информации и формировать соответствующие запросы к SQL-серверу. Объем возвращаемой сервером информации должен быть небольшим, а именно таким, чтобы пользователь был морально готов своими собственными глазами прочитать весь тот объем информации, который ему предоставило по его запросу приложение. Существуют, конечно, какие-то особые случаи, в которых объем возвращаемой по запросу информации может достигать нескольких тысяч записей. Однако, эти случаи действительно исключительные. Не думаю, что ваш заказчик готов своими собственными глазами читать содержимое 50000 записей. Если же все-таки он настаивает на этом, прикиньте время, которое ему потребуется на выполнение этой операции. По моим оценкам это не меньше недели. Мне кажется, он согласится потерпеть 8 секунд перед тем как погружать свои глаза в информацию на целую неделю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2002, 17:57 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
1.Отчасти согласен,хотя Perfom.monitor не показал мне большого загруза сетевухи при выполнении данного селекта. 2. время выполнения selecta что локально, что через сеть - одинаково=8-10 сек., сеть здеся не причем. касаемо памяти не согласен - память при выполнении не жрется , ограничений для сиквел-сервака не выставлял. 3.насчет *плохо продуманной идеологии работы клиент-серверного приложения* и прочих заумных пассажей : этот select используется в вьюхах,хр.процедурах и естественно никто не выдают юзеру 50000 записей. специфика деятельности и отчета такова , что необходимо анализировать инфу за 5 лет (в объеме 50000 rows), а результат всего пару десятков записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2002, 06:09 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
1. 8 с. для MSSQL нормально. 2. Меня смущает 100% загрузка proc. 3. Поскольку клиент на сервере, то система требует приличных ресурсов. Надо поиграть параметрами сервера, относящимися к памяти и процессору: - отказаться от динамического распределения памяти, если на сервере работают приложения; - если на сервере работают приложения, надо снять приоритет SQL (? творчески), если приложений нет, то его надо выставить; - поиграть параметрами "Min. query memory", "Reserve phisical memory for SQL", "Use WinNT fibers" (Результаты рекомендаций по этим параметрам неоднозначны и бывают непредсказуемы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2002, 06:28 |
|
||
|
sql7server .select * from table (50000 rows ) выполняется 8 секунд.При этом заг
|
|||
|---|---|---|---|
|
#18+
Есть ли CLUSTERED индекс. Если нет, надо сделать. Надо чаще делать REINDEX таблицы, при этом FillFactor по возможности ближе к 100% Таблица займет меньше страниц на сервере, уменьшится фрагментация, читаться будет быстрее. Еще хорошо помогает дефрагментация файлов на диске средствами Win2000/NT, это лучше делать перед REINDEX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2002, 07:40 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1823026]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 528ms |

| 0 / 0 |
