2014-10-22 2 views
1

Мне предоставили базу данных доступа, которая имеет действительно длинный отчет и задана задача выяснить, почему и как его улучшить.Производительность отчета отладочного доступа

вытащить SQL-выход Я вижу, что отчет использует сложенные запросы ... Каждый запрос ссылается на другой запрос, а затем на другой, а затем на другой. До тех пор, пока мы не дойдем до 3 или 4 запросов низкого уровня, которые на самом деле достигают таблиц, а не других запросов.

Изучая хорошие способы отладки запросов/производительности доступа, я наткнулся на несколько статей, ссылающихся на showplan.out, которые могут быть выведены. Я только нахожу старые руководства и ссылки, которые больше не актуальны или содержат большие разъединения в процессе настройки, потому что все, что я прочитал и пробовал до сих пор, не удалось.

Короче говоря, я выяснил, что большинство статей ссылаются на механизм JET, который используется до 2007 года, и мне нужно было включить другой раздел реестра.

Я работаю Office 2013 и лучше всего нашел, что мне нужно добавить следующую запись в реестре.

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engine\Debug] 
"JETSHOWPLAN"="ON" 

Я добавил это в свой реестр. ничего кроме \15.0\ не существовало до того, как я добавил это. Я перезапустил доступ и свой компьютер после этого добавления, и я не вижу никакого вывода в моих документах или в каталоге базы данных, над которой я работаю. (Я также обыскал свой компьютер для showplan.out только для определенного и не нашел ничего)

Может ли кто-нибудь предложить какие-либо предложения о том, что мне не хватает здесь, или о лучшей статье о том, как получить информацию о производительности и объяснении SQL из доступ?

Это 32-битный офис 2013 года под 64-разрядной версией Windows 7 Professional.

Благодаря

// - Редактировать ===================================== ===============

Для следующей подошвы, которая сталкивается с этой проблемой. работает с 32-разрядным офисом 2013 под 64-разрядной версией Windows, вы можете просто отбросить следующее в файл .reg и запустить его.

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Debug] 
"JETSHOWPLAN"="ON" 

возобновить доступ и найти showplan.out в разделе «Мои документы», как указано ниже.

ответ

1

Для ACE и Windows 7, то имя ключа таким образом:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug 

В папке Debug, вы тем самым создать новый ключ

JETSHOWPLAN 

и внутри указанного выше ключа поместите строку:

ON 

Однако, если вы используете 64-разрядную разрядной версии окон (и 32-разрядной версии Office 2010), то это ключ:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug 

Как уже отмечалось, вы затем создать ключ внутри отладки называется

JETSHOWPLAN 

And the value is ON 

При запуске любой запрос, то найти документ под названием SHOWPLAN.OUT в «Мои документы» папка.

Не забудьте удалить это, так как выходной файл будет быстро расти, и вы довольно быстро выполняете задачу получения повреждений.

+0

полностью пропустил опечатку в учебнике. Я в конечном итоге вытащил ключ Reg Engine Engine из механизма доступа ... У меня был «Двигатель» вместо «Двигатели». Благодаря! – Nathan

Смежные вопросы