С Java 6 ни поддержка @Depreated, ни флаг компилятора не помогут вам здесь. Единственное решение, которое сработало для меня, - отправить комментарий javadoc с тегом @deprecated (small caps) на устаревший метод:
/**
* @deprecated overriding deprecated method
*/
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {...}
(пример из класса, который происходит из JAXBContext.)
(я не импортировал класс устаревших Validator, чтобы избежать предупреждения в инструкции import.)
В теории (теорией, которую я имею в виду Стандарт SQL ) говорится, что то, ГДЕ ограничивает набор результатов перед возвращением строк и НАЛИЧИЕМ, ограничивает набор результатов после обеспечения всех строк. Таким образом, ГДЕ быстрее. По Стандарту SQL совместимый DBMSs в этом отношении, только используйте НАЛИЧИЕ, где Вы не можете поставить условие ГДЕ (как вычисляемые столбцы в некотором RDBMSs.)
можно просто видеть план выполнения относительно обоих и проверить на себя, ничто не разобьет это (измерение для Вашего определенного запроса в Вашей определенной среде с Вашими данными.)
Это могло бы зависеть от механизма. MySQL, например, применяется, НАЛИЧИЕ почти длятся в цепочке, означая, что нет почти никакой комнаты для оптимизации. От руководство :
пункт НАЛИЧИЯ применяется почти в последний раз, непосредственно перед тем, как объекты отправляются клиенту без оптимизации. (ПРЕДЕЛ применяется после НАЛИЧИЯ.)
я полагаю, что это поведение является тем же в большинстве механизмов базы данных SQL, но я не могу гарантировать его.
Два запроса эквивалентны, и Ваш оптимизатор запросов DBMS должен распознавать это и производить, производят тот же план запросов. Это не может, но ситуация довольно проста распознать, таким образом, я ожидал бы, что любая современная система - даже Sybase - будет иметь дело с ним.
пункты НАЛИЧИЯ должны использоваться для применения условий на функции группы, иначе они могут быть mvoed в ГДЕ условие. Например. если бы Вы хотели ограничить свой запрос группами, которые имеют КОЛИЧЕСТВО (DZIALU)> 10, скажем, то необходимо было бы поместить условие в НАЛИЧИЕ, потому что это действует на группы, не отдельные строки.
Я ожидал бы, что оператор Where будет быстрее, но возможно, что они оптимизировали бы к точно тому же.