Архив > Tag: sql

Кэширование MySQL - MySimpleCache

Собственно возвращаясь к прошлому посту - "PHP Кэширование MySQL, хочу сказать спасибо всем, кто помог советами.

По разным причинам, спустя несколько дней после прошлого поста, я все таки сел и написал этот велосипед. Перевел на него десяток говносайтов и наблюдал две недели за их поведением.

Проблем не заметил, все работает хорошо, нагрузка на базу данных значительно упала, а это именно то, что и требовалось.

Проект поселился на github.com, маловероятно, но возможно он еще будет обновляться, так что актуальная версия всегда там.

github.com

Логика работы проста. Что бы закэшировать MySQL запрос, вы подключаете класс и делаете замену стандартных вызовов, на вызовы функций кеширования. Они являются синонимами, а значит вам нужно только перед вызовом дописать название класса.

При вызове mysql_query, скрипт попытается закешировать данный запрос и либо вернет ссылку на закешированный массив, либо вернет ссылку на ресурс.

Все последующие операции будут проверять является ли ссылка ресурсом и уже по обстоятельствам будут либо доставать данные из memcache, либо получать их напрямую.

Буду рад любым комментариям и повторяю еще раз, что крайне не рекомендую прикручивать этот скрипт на сайты которые чуть более серьезнее чем сателит.


SQL Joins Виды, типы, различия.

В первую очередь шпаргалка для себя, но надеюсь кому нибудь окажется полезным.

Для начала оговорим, что у нас есть две таблицы: Table A и Table B:

id name id name


1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja

Теперь можно рассмотреть, варианты и различия возможных JOIN запросов.

Inner join выведет записи, которые соответствуют  таблице A и таблице B.

join-inner

SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name

id name id name


1 Pirate 2 Pirate
3 Ninja 4 Ninja

Читать далее