mysql-56-performance

На моей текущей работе возникла проблема с текущим сервером, на котором находится высоконагруженый сервис. Выгорело половина сервера, а значит процессор стал 8-ми ядерным из 16-ти и mysql, которая требовательна к ресурсу, перестала тянуть нагрузку. Было принято решение переехать на новый сервис. Переезд прошел удачно и я решил так же обновиться  с mysql 5.5 до mysql 5.6 версии и тут я столкнулся со следующей проблемой…

Читать далее

Случилась давеча беда. Перестал подключатся пользователь с другого сервера к базе mysql. Однако phpmyadmin работает под этим пользователем и другие приложения работают. Первая мыль была – не пускает хост. В процессе выяснения пользователь похерился, и перестало работать все.

Читать далее

Достаточно избитая во всевозможных блогах, в постах на хабре тема. Даже на офф сайте Mysql даны разъяснения и достаточно пруф линков. И все же есть несколько граблей, на который можно наступить, о которых мало где написано.

Читать далее

Всякие там плагины типа Butch Move и т.д. отстой, заманаешься клацать. Стандартный интерфейс вордпресса тоже сосет. Надо всего-то

Та-да !!! :)

Перенести в категорию 1250 все, у которых категория 1 и посты раньше даты 2011-05-28 и тип post.

А вот так можно скрыть записи с какой-то даты

Вопрос, который я задал в предыдущем посте продублировал на 5 форумов. Все форумы тематические, по PHP. Зачем я это сделал?

  1. Найти ответы.
  2. Проверить эти форумы на активность и юзабельность.

В итоге ответы нашел сам, в чужом коде. А о форумах выводы сделал.

Ответы были крайне просты. Надо было мне внимательнее читать документацию. Последний ид оказался свойством самого класса PDO.
http://ru.php.net/manual/ru/pdo.lastinsertid.php

А кол-во последних измененных строк получаются по методу стейтмента
http://ru.php.net/manual/ru/pdostatement.rowcount.php

Теперь о форумах:

http://www.php.ru/forum/ – не получил ответа. вообще никакого ответа, т.е. низкая активность?
http://phpclub.ru – сначала пытаются троллить, вместо диалога, потом наводками. в итоге ответ написал я сам. так же не понравился дизайн, добавление ответа через аякс.
хотя позже диалог завязался, подтянулись участники, меняю мнение.

Форум Школы Программирования – мертвый.

http://phpforum.ru – тут то и увидел код, натолкнувший на ответ. понравилось у них, особенно дизайн.
http://pyha.ru/forum/ – наверное зе бест. и дизайном и атмосферой. чего только стоит оценка  ответов – ХУЙНЯ, а форум новичков назван “для идиотов”

В итоге я смогу закончить работу над своим драйвером и использовать его постоянно в ядре сайтов.

php pdo

Решил сделать драйвер БД через PDO. С mydql напрямую все просто и однозначно, но не с PDO.
Возникло пару вопросов.

Драйвер должен состоять всего из 4-х ф-й : select, insert, update, delete. Логика их работы не имеет значения. Вызов просто $this->db->select(); в чем и профит.

У PDO есть ф-я query() которая просто для select и возвращает стейтмент, который можно потом fetch(). А что если в селекте есть параметры? Их же надо экранировать. Использовать sprintf() в связке с mysql_real_escape_string() когда речь идет о PDO не кошерно.

Сначала я написал ф-ю

И завис. Как же быть с параметрами? Для экранирования в PDO используется ф-я prepare(), куда передается sql запрос с параметрами WHERE например ‘id = :id ‘. Далее делаем bindParam(‘:id’, $my_id); и выполняем execute().
Хорошо, можно переписать мою ф-ю иначе:

Но тогда надо помнить всегда про PDO, передавать sql в формате типа ‘:id’ и параметры array( “id” => $id);
Есть ли какое-то более элегантное решение?

И что делать с запросами Insert и Update где я хочу узнать кол-во измененных столбцов? execute() возвращает true или false.
Можно использовать exec() но снова – как тогда быть с параметрами?

Автор 27 Апрель 2011 | Дмитрий Андреев, собственно я спер у него.

На днях решил разобраться с php PDO. Это интересно и необходимо изучать новые технологии. Русской документации нигде не нашел, потому и решил выложить. Надеюсь эта статья будет Вам интересна.

Читать далее

Добрый день.

Ситуация такая. Во первых мы имеем дело с большой таблицей debtors 3000-5000 записей. Мне нужно выбрать из этой таблицы записи только те, которые не входят в записи, получаемые другим запросом.

Читать далее