Метод Prepare
на самом деле на DbCommand
, что все классы, которые являются производными от него, подберут.
То, что он делает, зависит от поставщика базы данных, для которого DbCommand
предназначен. Тем не менее, можно с уверенностью сказать (хотя это и не абсолютное правило), что в большинстве мест, если команда является хранимой процедурой, она не выдаст никаких операций (она задокументирована как таковая для переопределения для Prepare
в SqlCommand
), поскольку хранимые процедуры обычно оптимизируют свои планы запросов из-за предыдущих вызовов, явных вызовов для оптимизации или при создании (опять же, в зависимости от базовой базы данных).
Однако, если вы не используете не хранимую процедуру, а скорее параметризованный запрос, сгенерированный на лету, то этот вызов даст базовой базе данных возможность сгенерировать оптимизированную версию запроса. .
Обычно вы делаете это, когда знаете, что собираетесь выполнить команду несколько раз в течение короткого промежутка времени (в действительности это зависит от базы данных и продолжительности кэширования планов запросов).
Следует отметить, что SQL Server (по состоянию на 2005, IIRC) кэширует параметризованные планы запросов в зависимости от использования после первого выполнения (я думаю, что кэш - это кэш с ухудшенным временем, который сбрасывается или скорость его затухания снижается при последующих использует), поэтому, если вы собираетесь совершать несколько вызовов с одним и тем же параметризованным запросом, вы можете не получить большого выигрыша от вызова на Prepare
, кроме как перенести работу по подготовке запроса заранее (что также может быть полезным, в зависимости от какую работу вы должны выполнить).
Это сработало:
. Это работает для исправления ссылок БД. Чтобы снова запустить SVN (и предположительно CVS):
Первый выход из Eclipse. Затем в каталоге рабочей области удалите каталог .metadata / .plugins / org.eclipse.jdt.core /
. В следующий раз, когда вы запустите Eclipse, он перестроит все свои внутренние индексы. Часто очистка проектов не требует восстановления всех этих метаданных.
Я бы посоветовал запустить Проект> Очистить ... в проекте. Это должно вызвать полную перекомпиляцию проекта.
Когда это происходит, мне обычно приходится удалять проекты из рабочей области, переходить в командную строку и rm - rf .settings .profile .classpath, а затем повторно импортировать проекты обратно. Иногда мне нужно удалить каталог метаданных (что означает, что мне нужно переустановить некоторые из моих плагинов). Я еще не нашел реального решения для этого. Очистка проекта не помогает.
У вас не должно быть «часов восстановления», если вы просто удалите .settings .profile и .classpath. Вам просто нужно повторно импортировать проекты после удаления их из рабочей области. Хотя это раздражает, это не должно занять более 5–10 минут.
Вы можете начать с попытки удалить свой проект (не удаляя, конечно, источники, только связанные с ним метаданные).
Затем вы повторно импортируете свой проект в свою рабочую область (поскольку .classpath и .project все еще находятся на вашем жестком диске)
Таким образом, рабочее пространство all не затрагивается, только часть, касающаяся текущего проекта.
a) выйти из Eclipse
b) удалить весь проект bin / целевые папки (например, с помощью командной строки)
#starting from current folder (".") search for folders
# ("-type d") with name (-iname ) "target" or "bin"
# feed this to xargs which calls
# rm -rf (remove recursive "-r" and force "-f")
# with the results from find
find . -iname "target" -type d | xargs rm -rf
или
find . -iname "bin" -type d | xargs rm -rf
c) перезапустить eclipse
Обычно НЕ требуется удалять какой-либо проект из рабочего пространства или удалять .classpath или .setting!
d) очистить все проекты
Если это только на уровне проекта, Напоминаю, что вы можете просто закрыть проект (например, Project -> Close project), а затем снова открыть его (Project -> Open project). Вам даже не нужно перезапускать eclipse.