<rmcreative>

RSS

Все заметки с тегом «MySQL»

Можно уточнить:

    (1)
    (1)
    (1)
    (3)
  1. (1)
    (1)
  1. (1)
    (3)
  1. (1)
  2. (2)
  3. (1)
  4. (1)
  5. (2)
  1. MySQL, сложение и NULL

    10 февраля 2009

    Вчера столкнулся с интересной штукой при работе с MySQL:

    SELECT NULL + 13

    даст нам NULL.

    Чтобы получилось ожидаемое (по крайней мере я почему-то ожидал) 13:

    SELECT IFNULL(NULL, 0) + 13

    IFNULL возвращает то, что передано вторым параметром, если первый равен NULL.

    Вместо NULL, как вы наверное догадались, было поле типа INT.

    14 комментариев
  2. MySQL: добавить если ещё нет

    19 декабря 2008

    Иногда требуется вставить запись в таблицу, если её там до сих пор нет. Можно сделать пару запросов: одним —проверить, другим — вставить, а можно и одним:

    INSERT IGNORE INTO `users`
    SET `login` = 'samdark', `password` = 'mypassword';

    Поле login должно быть уникальным.

    17 комментариев
  3. MYSQL_CLIENT_COMPRESS

    8 декабря 2008

    При установке соединения с MySQL при помощи mysql_connect(), можно указать дополнительные настройки соединения путём задания параметра $client_flags.

    Среди прочих значений есть возможность передать флаг MYSQL_CLIENT_COMPRESS, включающий передачу данных в сжатом виде. Таким образом можно променять трафик на процессорное время.

    Если MySQL у вас на том же сервере, что и приложение — смысла в этом нет никакого, если же база на другом сервере (даже если он в локальной сети и подключен через 100Мбит) — можно получить ускорение до полутора раз за счёт уменьшения времени на передачу данных.

    Комментировать
  4. Нагружаем MySQL

    2 декабря 2008

    Иногда требуется для тестов нагрузить MySQL. В свежий MySQL 5.1 теперь входит замечательный инструмент для этого дела. Зовётся mysqlslap.

    Запускается примерно так:

    [bash]
    
    mysqlslap -a --iterations=500 --concurrency=100 --password=mypass --user=root -v
    
    

    Если, что очень вероятно, у вас MySQL < 5.1, утилиту всё-равно можно использовать. Для этого необходимо собрать MySQL из исходников:

    [bash]
    wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.30.tar.gz/from/http://mysql.mix.su/
    tar -xvvzf mysql-5.1.30.tar.gz
     cd mysql-5.1.30
    ./configure --without-server --disable-shared 
    make
    make install
    

    После выполнения этой длительной процедуры забрать mysqlslap можно будет из /usr/local/bin/.

    Комментировать
  5. MySQL 5.1

    28 ноября 2008

    Зарелизилась новая версия MySQL за номером 5.1. Уже чувcтвуется положительное влияние Sun.

    Из вкусного:

    — Физическое разбиение таблиц на несколько файлов (подробнее).

    — Построчная репликация.

    — API для плагинов полнотекстового поиска.

    — Встроенный планировщик.

    — Системные таблички для логов.

    — mysql_upgrade (коррекция баз прошлых версий MySQL).

    — Кластер в комплекте.

    — Больше информации в метаданных.

    — XML, XPath.

    — Эмулятор нагрузок.

    What's New in MySQL 5.1

    Пробуем

    3 комментария
  6. Закрепить запись наверху при выборке

    22 октября 2008

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

    select * from address
    order by (state = 'CA') desc, (state = 'CT') desc
    select * from posts
    order by (id=123), created_at
    5 комментариев
  7. Кэширование запросов в MySQL

    18 августа 2008

    О встроенном в MySQL механизме кэширования запросов.

    Читаем

    Комментировать
  8. MySql даты по-русски

    13 февраля 2008

    Заметка о том, как возвратить даты на русском.

    Читаем

    1 комментарий
  9. Механизмы хранения данных MySQL

    22 января 2008

    А вы знаете, чем отличается MyISAM от InnoDB?

    Советую

    1 комментарий
  10. Как разбить данные на страницы (PHP+MySQL)

    29 ноября 2007

    Поможет новичкам понять азы постраничной разбивки.

    Читаем

    Комментировать