Архив метки: MySQL

Архитектура веб приложений: экстерьер (видео-лекция)

Архитектура веб-приложений: экстерьерРассказ о популярной универсальной архитектуре стека, в котором работает веб-приложение. Само приложение может быть написано на любом интерпретируемом языке с использованием любого фреймворка фреймворков. В данном случае это не важно, так как архитектура программной инфраструктуры — технологического стека, в котором оно работает, отличается мало.

Читать далее Архитектура веб приложений: экстерьер (видео-лекция)

Форматы времени в MySQL: TIMESTAMP vs DATE[TIME]

В MySQL 5 есть несколько типов данных для хранения даты и времени. Это TIMESTAMP, DATE, DATETIME, TIME и YEAR. Все они обладают своими особенностями, и выбор в пользу того или иного календарного типа должен производиться отдельно в каждой конкретной ситуации. Я хотел бы поделиться с вами результатом моего сегодняшнего миниисследования этих типов, в том числе в аспекте работы с временными зонами. Читать далее Форматы времени в MySQL: TIMESTAMP vs DATE[TIME]

Поиск в MySQL. Часть 3 «FULLTEXT IN BOOLEAN MODE»

Поиск с учетом русской морфологии

Поиск в MySQL. Часть 3 «FULLTEXT IN BOOLEAN MODE»

В первой части рассказа о поиске в MySQL рассказывается про использование полнотекстного индекса FULLTEXT. При поиске неких ключевых слов в большом массиве текста, хранящегося в БД, без использования индекса не обойтись. Однако родные возможности полнотекстового поиска в СУБД MySQL не обеспечиват функционал для поиска с учетом русской морфологии. Решение этой проблемы описывалось во второй части «Поиск с учетом русской морфологии». И вот недавно в описанном алгоритме обнаружился большой недостаток. Что это за недостаток и как с ним бороться и описано в этой статье.

Читать далее Поиск в MySQL. Часть 3 «FULLTEXT IN BOOLEAN MODE»

Поиск в MySQL. Часть 2 «Поиск с учетом русской морфологии»

Поиск с учетом русской морфологииПоиск в MySQL. Часть 2 «Поиск с учетом русской морфологии»

В этой статье описывается идея создания поиска в базе MySQL на основе индекса FULLTEXT с учетом русской морфологии. Никаких модулей для PHP или MySQL и других программ устанавливать на хостинг не нужно. И это важное преимущество данного алгоритма. Алгоритм подойдет для сайтов с малой и средней нагрузкой. Для крупных порталов, конечно, следует искать более скоростные и производительные решения (например, Sphinx). Мой вариант поиска работает значительно быстрее поиска на основе регулярных выражений и подойдет для большого количества web-проектов. Кстати, и не только web :) Читать далее Поиск в MySQL. Часть 2 «Поиск с учетом русской морфологии»

MySQL vs PostgreSQL

MySQL vs PostgreSQLНеделю назад я инициировал обсуждение на одном сайтике на тему миграции с MySQL на PostgreSQL. В процессе обсуждения плавно сменили тему на сравнение этих двух популярных СУБД. В результате мне показалось, что почитать это обсуждение будет интересно и полезно многим программистам. В обсуждении участвовал известный программист PHP, автор двух книг по PHP, разработчик сервиса moikrug.ru Дмитрий Котеров.

Читать далее MySQL vs PostgreSQL

Вызов хранимых функций в запросе SELECT СУБД MySQL

Сегодня на работе столкнулся с таким вопросом: при запросе SELECT, где в качестве одного или нескольких полей данных вызывается пользовательская хранимая функция, будет ли эта функция вызываться для записей, подходящих под запрос, но не вошедших в LIMIT?

Читать далее Вызов хранимых функций в запросе SELECT СУБД MySQL

SQL_CALC_FOUND_ROWS в MySQL

PHP & MySQLSQL_CALC_FOUND_ROWS в MySQL

Начиная от версии 4.0 в СУБД MySQL появилась достаточно удобная возможность подсчета количества всех подходящих под запрос записей, когда количество записей ограничивается LIMIT’ом. При работе с поиском в БД, а так же при выборках из таблиц с большим количеством записей такой функционал просто необходим.

Читать далее SQL_CALC_FOUND_ROWS в MySQL

Поиск в MySQL. Часть 1 «Что такое хорошо, и что такое плохо?»

PHP & MySQLПоиск в MySQL. Часть 1 «Что такое хорошо, и что такое плохо?»

Каждый программист PHP в свое время сталкивается с организацией поиска на сайте по какому-то набору информации или по всему сайту. Хороший программист все данные хранит в базе данных, следовательно, и искать будем там же. Речь в статье будет идти только о СУБД MySQL. Именно на ней работает подавляющее большинство сайтов в Internet, и она доступна на любом хостинге.

Читать далее Поиск в MySQL. Часть 1 «Что такое хорошо, и что такое плохо?»