Здравствуйте господа!
У меня следующая ситуация.
Есть база данных на access (размер таблицы в среднем 15000 записей)
Она распределенная. Таблицы лежат на сервере а на клиенте все остальное и
ссылки на эти таблицы. Среди запросов на выборку встречаются запросы с
вычислениями (некоторые поля вычисляются непосредственно при запросе) и
объединения запросов.Я хочу перейти на MSSQL оставив прежнего клиента и
поменяв в нем ссылки.Когда базу перекачал на SQL (и в ручную перекачивал и с
помощью ацессовского визарда) время выполнения запроса увеличилось в 50
раз!!! Это не есть гут. Подскажите с чем это может буть связано и какие есть
пути ускорения.
Здравствуйте, Serheyka, Вы писали:
S>Здравствуйте господа! S>У меня следующая ситуация. S>Есть база данных на access (размер таблицы в среднем 15000 записей) S>Она распределенная. Таблицы лежат на сервере а на клиенте все остальное и S>ссылки на эти таблицы. Среди запросов на выборку встречаются запросы с S>вычислениями (некоторые поля вычисляются непосредственно при запросе) и S>объединения запросов.Я хочу перейти на MSSQL оставив прежнего клиента и S>поменяв в нем ссылки.Когда базу перекачал на SQL (и в ручную перекачивал и с S>помощью ацессовского визарда) время выполнения запроса увеличилось в 50 S>раз!!! Это не есть гут. Подскажите с чем это может буть связано и какие есть S>пути ускорения.
Вытаскивать запросы в Query Analyzer, смотреть планы выполнения, делать выводы, перестаривать индексы, перестраивать запросы, может, добавлять хинты.
Здравствуйте, Serheyka, Вы писали:
S>Здравствуйте господа! S>У меня следующая ситуация. S>Есть база данных на access (размер таблицы в среднем 15000 записей) S>Она распределенная. Таблицы лежат на сервере а на клиенте все остальное и S>ссылки на эти таблицы. Среди запросов на выборку встречаются запросы с S>вычислениями (некоторые поля вычисляются непосредственно при запросе) и S>объединения запросов.Я хочу перейти на MSSQL оставив прежнего клиента и S>поменяв в нем ссылки.Когда базу перекачал на SQL (и в ручную перекачивал и с S>помощью ацессовского визарда) время выполнения запроса увеличилось в 50 S>раз!!! Это не есть гут. Подскажите с чем это может буть связано и какие есть S>пути ускорения.
Скорее всего у тебя в скл базе нет ни одного индекса. Посмотри, какие индексы были в аксессовой базе, и создай такие же в сиквельной. Для начала. А потом — как здесь
Здравствуйте, Serheyka, Вы писали:
S>Здравствуйте господа! S>У меня следующая ситуация. S>Есть база данных на access (размер таблицы в среднем 15000 записей) S>Она распределенная. Таблицы лежат на сервере а на клиенте все остальное и S>ссылки на эти таблицы. Среди запросов на выборку встречаются запросы с S>вычислениями (некоторые поля вычисляются непосредственно при запросе) и S>объединения запросов.Я хочу перейти на MSSQL оставив прежнего клиента и S>поменяв в нем ссылки.Когда базу перекачал на SQL (и в ручную перекачивал и с S>помощью ацессовского визарда) время выполнения запроса увеличилось в 50 S>раз!!! Это не есть гут. Подскажите с чем это может буть связано и какие есть S>пути ускорения.
Если, как я поняла, Вы привязываете таблицы с сервера и делаете запросы к ним на Access-клиенте, то оптимальнее по возможности использовать прямые запросы SQL == запросы к серверу == Pass-through queries. Они выполняются быстрее, чем запросы к связанным таблицам.
Также можно переписать некоторые части в Stored procedures на сервере и вызывать их через Pass-through queries.
Подробно о переходе с Access на MS SQL, например:
Скотт Ф.Баркер Профессиональное программирование в Access 2002
[skip]
все что посоветовали раньше + еще можно натравить на свою базу Index Tuning Wizard
... << RSDN@Home 1.1 beta 2 >>
— сколько программистов надо чтобы заменить сгоревшую лампочку?
— сколько не бери, а лампочку не поменять — проблема аппаратная, программным путем не решается...