Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Bol'shaja tablica otkryvaetsja slishkom dolgo / 8 сообщений из 8, страница 1 из 1
17.11.2001, 05:08
    #32017186
Far Stringer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
Est' tablichka
CREATE TABLE [dbo].[PageVisited] (
[AuditID] [int] IDENTITY (1, 1) NOT NULL ,
[VisitID] [int] NULL ,
[UserID] [int] NULL ,
[PageID] [int] NULL ,
[Version] [float] NULL ,
[EnterTime] [datetime] NULL
) ON [PRIMARY]
GO

Sozdany indexy po
[AuditID]
[VisitID]
[UserID]
[PageID]
[EnterTime] : cluster index
v nej 400,000 zapisej - "select * FROM PageVisited" cherez Query Analyzer otkryvaetsja primerno 17 sekund
po moemu eto ochen' dolgo. Kak uvelichit' skorost' otkrytija ?

Regards, Far Stringer
...
Рейтинг: 0 / 0
17.11.2001, 13:46
    #32017191
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
IMHO pri takom zaprose "select * FROM PageVisited" skorost vyborki bolshe zavisit ot proizvoditelnosti diskovoi sistemy, t.e. oborudovanija. A vot kakoe ono u vas - vy ne soobshili, kak i pro svoju operatsionnuju sistemu i versiju vashego SQL servera.
...
Рейтинг: 0 / 0
17.11.2001, 22:02
    #32017196
Far Stringer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
Vo vremja zaprosa, diskovaja sistema ne zadejstvovana, proveril with Performance monitor. Hardware : Server - Pentium4 1.3 GHz, RAM 384 MB, disk 40 Gb IDE, svobodno 70 %, OS Win NT4, Service Pack 6, MSSQL 2000, disk 20 Gb, svobodno 50 %. Delo ne v hardware i OS po moemu. Klient komputer (gde zapuskaetsja zapros iz Query Analyser), Pentium3 800 MHz, RAM 256 MB, OS Win NT4, Service Pack 6, nahoditsja v toj zhe lokal'noj setke propusknaja sposobnost' setki 10 MBit/sek. Prosto kopirovanie 1Mb file s servera na klient zanimaet men'she sekundy. Ustanovki serverov defaultnye .. nichego ne menjal i ne "nastraival".
...
Рейтинг: 0 / 0
18.11.2001, 09:05
    #32017199
JINX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
[EnterTime] : cluster index
- на мой взгляд поле [EnterTime] должно быть Not Null.
...
Рейтинг: 0 / 0
19.11.2001, 07:21
    #32017225
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
Voobsche-to, esli vse zapisi (400000) tjanutsya iz servera po setke, to tak i poluchitsya, poschitai: ob'em 400000 / 10 Mb = do figa
...
Рейтинг: 0 / 0
19.11.2001, 07:49
    #32017230
Владимир Смирнов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
Посмотрите на клиенте в Task Manager какой объём памяти занимает процесс isqlw.exe до и после выполнения запроса. Возможно причина в этом - Query Analyzer не предназначен для отображения больших объёмов данных. Да и сама технология клиент - сервер больше ориентирована на минимизацию пересылки данных.
...
Рейтинг: 0 / 0
19.11.2001, 08:38
    #32017240
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
Попробуем посчитать теоритически
Сервер
размер записи у вас 28 байт х 400 000 записей = 10.68 Mb (на самом деле длина записи будет больше)
диск IDE(ATA 33/66/100 ?) - по моим данным реальная скорость чтения 20 Mbit/s (2.5Mb/s)
т.е. время чтения будет 10.68/2.5 = 4.27 s

далее сеть 10Mbit/sec(витая пара/коаксиал/shared/switched ?) = 1.25 Mb/s
прокачка 10.68 Mb займет - 10.68/1.25 = 8.54

Итого 4.27 + 8.54 = 12.81 IMHO теоритически максимальное время выборки без учета физического расположения данных как в базе, так и на диске (деление на страницы, дефрагментация) и коллизий в сети.


Могу для сравнения привести свои данные
Сервер 2xPIII-800, 2Gb RAM (1.7Gb выделено для SQL), SCSI RAID-5 40Mb/s(max), NIC Intel Pro/100, сеть switched TP
Win200 AdvServ SP2, MS SQL2000 SP1

Клиент AMD Athlon 950, 256Mb RAM, IDE, Intel Pro/100, switched TP

Таблица 2 005 376 KB, 11 594 925 записей
запрос SELECT * FROM - время выполнения 585 сек

Опять же теоритически
чтение с диска 1985.375 Mb / 5Mb/sec = 391.675 sec
передача того же объема через сеть 1985.375 Mb/12.5 = 158.83 sec
всего 391.675 + 158.83 = 550.505 sec
...
Рейтинг: 0 / 0
19.11.2001, 18:08
    #32017282
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bol'shaja tablica otkryvaetsja slishkom dolgo
Ну вот совсем недавно был у меня диспут тут на работе... Еще и не остыл после него... Один "специалист" (в области MS Excell), выступающий в роли заказчика, собирается использовать SQL-сервер в качестве хранилища таблиц, которые целиком перекачиваются к клиенту в начале рабочего дня, а в конце рабочего дня должны перекачиваться обратно с уже внесенными изменениями (многими пользователями). При этом, конечно же, опускаются (ну, чтобы не напрягать по-пусту мозги) вопросы конфликтов множественных изменений, неактуальности информации, нарушения ссылочной целостности, времени закачки всех таблиц на клиента (около часа туда и примерно столько же - обратно). Заказчик, конечно же, всегда прав... Но не до такой же степени! Если этот заказчик будет с таким упорством лезть рогами вперед, я предпочту поискать другого. Чего и вам советую.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Bol'shaja tablica otkryvaetsja slishkom dolgo / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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