Записи с тегом «MySQL»

Генерация тестовых данных средствами MySQL

06.06.2010 16:48 / Артём Волк / 999 просмотров / ...

Средства генерации тестовых данных встроены во многие утилиты для работы с БД, существует большое количество сторонних и даже он-лайн инструментов. Конечно, набор реальных тестовых данных ничто не заменит, но для случая «нагенерить чего-нибудь да по-больше» можно обойтись и встроенными возможностями MySQL.

читать дальше

Выборка последних записей из большой таблицы

23.05.2010 21:24 / Артём Волк / 1163 просмотра / ...

К примеру, в MySQL БД есть такая таблица:

`log`
----------
`id`			(номер записи в логе)
`inserted`		(дата и время события)
`message`		(описание события)
`user_id`		(вторичный ключ на таблицу пользователей `users`)

По логике приложения важным является выбрать последние записи из этой таблицы для каждого пользователя и вывести их на страницу. Сообщений в между очисткой/архивацией таблицы собирается много (до полумиллиона). Конечно можно сохранять в отдельную таблицу интересующие записи, но есть решение и на чистом SQL (работающее до определённого количества записей, конечно :)).

читать дальше...

Проверка на существование добавляемого в таблицу поля в MySQL

19.04.2010 23:20 / Артём Волк / 1643 просмотра / ...

Для программы обновления понадобилось написать SQL-скрипт, который проверял бы перед добавлением нового поля в таблицу, не было ли такое поле добавлено ранее. В MySQL для подобных целей необходимо использовать хранимую процедуру, которая после использования удаляется. Оригинал решения дополнен автоматическим определением названия текущей БД.

читать далее...

Определить на какой странице пейджинга окажется запись (ROW_NUMBER() в MySQL)

13.11.2009 22:01 / Артём Волк / 1451 просмотр / ...

В процессе разработки приложения понадобилось с помощью SQL-запроса к MySQL-базе определить на какой странице пейджинга окажется определённая запись. Ситуация осложнялась тем, что записи могли быть отсортированы по разному.

вариант решения проблемы

Префиксы для баз данных и имён пользователей MySQL в ISPManager

11.11.2009 23:39 / Артём Волк / 939 просмотров / ...

Для того, чтобы к имени базы данных добавлялся префикс в виде <имя системного пользователя>_, необходимо добавить в ispmgr.conf опцию:

Option DatabasePrefix

Чтобы включить добавление подобного префикса к именам MySQL-пользователей необходима следующая опция:

Option DatabaseUserPrefix

Варианты соглашений по именованию объектов в БД

01.11.2009 21:07 / Артём Волк / 1643 просмотра / ...

Несколько разных схем именования объектов в БД. Для примера будет взята база гипотетического блога, хранящая информацию о следующих сущностях: записях (posts), категориях (category) и пользователях (users). Один пост может попадать в одну или несколько категория (связь many-to-many), у одного поста всегда один автор (связь one-to-many).

варианты...

Общее количество записей, возвращаемых запросом с LIMIT в MySQL

25.10.2009 10:51 / Артём Волк / 3428 просмотров / ...

Для реализации пейджинга в веб-приложениях обычно необходимо узнать общее количество записей, возвращаемых определённым запросом.

Для некоторых баз данных для этого приходится делать ещё один запрос с COUNT()

в MySQL можно немного схалявить :)...

Небольшая оптимизация записи JOIN в MySQL

25.10.2009 10:22 / Артём Волк / 1198 просмотров / ...

Eсли поля, по которым осуществляется JOIN названы одинаково в обоих таблицах, то для обоих типов JOIN'a (INNER и OUTER), можно упростить запись.

читать дальше...