Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Чем объяснить тормознутость JET(+)  [new]
RomanStO
Member

Откуда:
Сообщений: 28
Никак не могу понять , почему он так грузит машину на тривиальных задачах.
Как пример приведу нижеследующее.
Было создано небольшое приложение на VB6 + ADO для расчета заработной платы.
Данные хранились в мдб-шке. Спустя пару месяцев с начала работы посмотреть отчеты стало нелегкой задачей - на Атлоне ХР 2000 + они открывались через минуту , две. На Р166 вообще не смогли дождаться.
Преписали это дело под MSDE . Результат - но том же чахлом пеньке , где стоит и прога и MSDE время ожидания - несколько секунд!
Данных в базе пока - кот наплакал , по максимуму тыс. 20-25 записей.
Кто нибудь может это прокомментировать - вроде одна контора эти движки создала - почему такая огромная разница.
9 апр 03, 13:40    [169124]     Ответить | Цитировать Сообщить модератору
 Re: Чем объяснить тормознутость JET(+)  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Я думаю, и на эксцессе можно будет дооптимизировать до похожих цифр. Что-то не учтено, сделаны неэффективные запросы или структура базы неоптимальна.
9 апр 03, 18:04    [169574]     Ответить | Цитировать Сообщить модератору
 Re: Чем объяснить тормознутость JET(+)  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145754
Может быть это связано с приоритететами процессов?
9 апр 03, 19:44    [169667]     Ответить | Цитировать Сообщить модератору
 Re: Чем объяснить тормознутость JET(+)  [new]
RomanStO
Member

Откуда:
Сообщений: 28
Повторюсь, структура баз одинакова и на MSDE и в mdb.
Запрос , конечно не простой , содержит несколько вложенных подзапросов , но почему то у SQL-я хватает ума разобраться с ним , а JET скисает
Внимательннейшим образом была проштудирована литература (К.Гетц, П.Литвин "Access 2000"), проверены ветки реестра , отвечающие за настройки JET , просмотрены планы выполнения запросов JET-ом. Все вроде нормально , на диск свопа нет , данные скорее всего крутятся в ОЗУ, а скорости нет. Что-то не так с доступом по OLE DB к JETовским базам , с использованием DAO таких тормозов не было.

Что касаемо приоритетов , то все установки по дефолту , может подскажите , где покопать?
10 апр 03, 08:21    [169847]     Ответить | Цитировать Сообщить модератору
 Re: Чем объяснить тормознутость JET(+)  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Повторюсь, структура баз одинакова и на MSDE и в mdb.

Т.е. без учета специфики access. Оптимизатор access на порядки слабее оптимизатора mssql, поэтому к сложным запросам в access надо подходить гораздо тщетнее. Я однажды в access натнулся на такую особенность - запрос просто умирал, если в критерии стоял between-отбор по датам. Я переписал запрос, чтобы вместо between был IN по подзапросу, возвращающему список дат. Запрос стал выполнятся раз в 100 быстрее. Излишне говорить, что в mssql такой разницы бы не было.
10 апр 03, 10:19    [169946]     Ответить | Цитировать Сообщить модератору
 Re: Чем объяснить тормознутость JET(+)  [new]
wara
Member

Откуда: парень из п. АНДРЕЕВКА
Сообщений: 620
А нельзя сюда этот тестовый запрос написать (и описания таблиц и полей, которые там представлены) - что то не верится мне, что возможно такое чудо...
5 май 03, 13:50    [190203]     Ответить | Цитировать Сообщить модератору
 Re: Чем объяснить тормознутость JET(+)  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
Совершенно верно
Аксесс ООЧЕНЬ МЕДЛЕННО работает с подчиненными запросами.
5 май 03, 15:17    [190391]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить