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

15 сентября, 2008
db file test

О том, что кэширование может значительно увеличить скорость работы сайта, знают все. Но в некоторых случаях создание кэша – не самый лучший вариант.

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

Ясно, что создавать кэш для каждого сочетания цен будет неэффективно. Количество таких сочетаний измеряется десятками или сотнями тысяч.

Выполнить поиск в базе – не проблема. Но меня заинтересовал другой вопрос. Не будет ли быстрее искать данные в текстовом файле, а не базе?
Читать дальше »

Опубликовано в MySQL, PHP, Web разработка | Комментарии (3) »

Как получить информацию о базе данных

29 августа, 2008
mysql database info

Если вы занимаетесь разработкой инструмента для работы с базами данных (вроде phpMyAdmin), то вам потребуется информация о созданных базах, их структуре, количестве таблиц и т.д.

Большинство учебников почему-то обходят эту тему. Но на самом деле здесь нет ничего сложного. Достаточно выполнить всего несколько запросов.

Получение списка баз данных. Всего один запрос:

  1. SHOW DATABASES;

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

Используя этот список, можно определить структуру каждой из баз. Для этого нужно выполнить два запроса.
Читать дальше »

Опубликовано в MySQL, Web разработка | Комментарии (2) »

Уязвимости в MySQL и SQL запросах

21 августа, 2008
mysql vulnerabilities

Эта заметка – вольный перевод статьи Stefan Esser MySQL and SQL Column Truncation Vulnerabilities.

SQL-инъекции (SQL-injection) на сегодняшний день остаются наиболее обсуждаемыми проблемами безопасности web приложений.

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

Первая уязвимость касается движка MySQL
Читать дальше »

Опубликовано в MySQL, PHP, Web разработка, Безопасность | Комментарии (10) »