Хранимая процедура, занимающая больше времени для выполнения (SQL-сервер 2005)

На всем протяжении Интернета можно найти вопросы и ответы относительно поддержки sqlite в PHP на Ядре Fedora, Red Hat и дистрибутивах CentOS. В то время как многие из них расходятся во мнениях в том, как пойти о включении поддержки, все они говорят то же самое о причине: пакеты для PHP на тех дистрибутивах компилируются без поддержки SQLite. К моему знанию нет никакого текущего об/мин для того, чтобы легко установить php-sqlite3.

Я рекомендую смотреть на комментарии, найденные на странице SQLite Installation PHP, которые детализируют, как получить ее работающий максимально безболезненно. Короткая версия состоит в том, чтобы гарантировать, чтобы у Вас был установленный php-devel (если не затем работает yum install php-devel) и сделайте следующее:

Загрузите источник для PHP из http://php.net/downloads.php и скомпилируйте его с поддержкой модуля SQLite.

tar xfvj php-5.3.2.tar.bz2 
cd php-5.3.2/ext/sqlite/
phpize
./configure
make
make install
/etc/init.d/httpd restart

1
задан 24 April 2012 в 22:30
2 ответа

План запроса - это ваше окно «под капотом», чтобы увидеть подход SQL Server к выполнению ваших запросов (включая хранимые процедуры). Посмотрите, что делает план запроса , и оптимизируйте его соответствующим образом с помощью индексов и обновления статистики.

Вы также можете использовать SQL Server Profiler для оптимизации запросов. Запустите трассировку с помощью шаблона «Воспроизведение», затем загрузите трассировку в помощник по настройке ядра СУБД. Это даст (и может реализовать) предложения относительно метаданных базы данных, которые позволят SQL Server работать наилучшим образом.

1
ответ дан 3 December 2019 в 21:49

Хранимые процедуры компилируются и сохраняются в кэше процедур при первом запуске - с использованием параметров, которые были предоставлены в то время.

Таким образом, кэшированный план выполнения может быть неоптимальным для набора параметров, с которыми вы сейчас тестируете. Попробуйте dbcc freeproccache и проверьте еще раз.

Если это сработает, вы можете рассмотреть возможность добавления подсказки WITH RECOMPILE к хранимой процедуре, чтобы принудительно перекомпилировать при каждом выполнении.

1
ответ дан 3 December 2019 в 21:49

Теги

Похожие вопросы