Не очень-то и like
Новички MySQL обычно склонны использовать оператор LIKE сплошь и рядом, т.к. на первый взгляд кажется, что он решает все проблемы при создании сложных запросов, позволяя использовать в таких операторах групповые символы. Эта картина несколько обманчива: не умаляя достоинств оператора LIKE, который позволят отыскивать записи по фрагментам, можно со всей определенностью сказать, что его использование без предварительной проработки запроса и соответствующего индексирования приводит к существенной деградации производительности системы (т.к. для построения результирующего набора запросу потребуется просматривать всю таблицу целиком). Поэтому при использовании запроса, содержащего оператор LIKE, рекомендуется, чтобы все указанные в предложении WHERE столбцы были проиндексированы и чтобы предложение WHERE содержало достаточно данных для ограничения числа просматриваемых столбцов.
Поиск шаблонов
Регулярные выражения еще известные в программистских кругах как regex, представляют собой мощный инструмент, используемый при поиске по шаблону и замене. Они зачастую ассоциируются почти со всем инструментарием, базирующимся на *ШХ-технологиях включая такие редакторы, как vi, такие языки написания сценариев, как Perl и PHP, такие программы оболочек, как awk и sed1.
Регулярные выражения позволяют создавать шаблоны с использованием набора специальных символов. В зависимости от наличия или отсутствия соответствия, предпринимаются различные действия и выполняется соответствующий программный код.
Регулярное выражение состоит из комбинации регулярных символов и специальных метасимволов, определяющих сам искомый шаблон. Например, по регулярному выражению *hell будут найдены слова, начинающиеся с hell, - hello и hellhound, но не shell, а регулярное выражение Wil будет соответствовать словам Winnie, Wimpy, Wilson и William, но не Wendy или Wolf.
Добавление логического оператора NOT инвертирует поведение оператора REGEXP, возвращая при обнаружении соответствия значение "ложь".
1 Данные получены из статьи "So What's A $#!%% Regular Expression, Anyway?!" http-.// www.melonfire.com/community/columns/trog/arcticle.php?id=2. К сожалению, на момент издания этой книги, данный адрес оказался недоступным. - Примеч. пер.
Давайте посмотрим, как эти операторы работают в реальной ситуации. Рассмотрим следующую таблицу MySQL, в которой хранятся собранные за двухлетний период данные о семи скаковых лошадях.
Сейчас вы убедитесь в том, что операторы сравнения MySQL можно использовать для получения из имеющихся данных достаточно интересных выводов. Например, можно получить перечень всех лошадей, которые принимали участие более чем в 50 скачках.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Операторы сравнения. Продолжение.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Операторы сравнения | Все о MySQL. Логические операторы |