Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Доступ к БД из web-приложений

Филипп Коряка

Спецвыпуск: Хакер, номер #052, стр. 052-062-6


SELECT id, name, price FROM goods LIMIT PAGE, 10

где PAGE - это номер страницы, начиная с нуля, умноженный на 10.

Еще одна распространенная ошибка - использование символа "*" вместо перечисления необходимых полей таблицы в тех ситуациях, когда нет необходимости получать все поля. И тут и код программы становится малоинформативным, и ресурсы необоснованно тратятся на извлечение и хранение информации, которая не будет использоваться в дальнейшем.

При написании программ, работающих с БД, как правило, если СУБД умеет делать некоторые действия над данными, она делает это эффективнее твоей программы на Perl или PHP. Не нужно пытаться, получив данные из СУБД, сортировать их или делать выборку из них средствами используемого тобой языка программирования. В большинстве случаев СУБД справится с этим лучше. Хотя это правило, как и любое другое, имеет исключения.

Что лучше не хранить в БД?

Очень часто программисты пытаются втиснуть все имеющиеся в распоряжении данные внутрь БД совершенно не задумываясь о наличии смысла во всем этом. Иногда полезнее хранить часть данных на диске, а в БД помещать только путь до файла с данными. Это в первую очередь касается изображений, музыки, программ и других бинарных данных. Помещение больших объемов бинарных данных в БД сильно замедляет ее работу. Кроме того, для извлечения этих данных также требуется дополнительное время. Плюс, как известно, различные системы кеширования на стороне сервера и на стороне клиента обычно не работают с динамическими данными (в отличие от статичных файлов). Для отображения картинки, расположенной в БД, потребуется потратить время на запуск скрипта, на подсоединение к БД, извлечение изображения из БД. А для отображения той же картинки, хранящейся на диске, тратится намного меньше времени. Кроме того, за счет кеширования это время еще сократится при последующих вызовах.

На этой оптимистической ноте закончу статью, потому что вопросы оптимизации – вечная тема, а страницы журнала, к сожалению, не резиновые.

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

Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД).

Реляционная база данных - база данных, построенная на основе реляционной модели. В реляционной базе каждый объект задается записью (строкой) в таблице.

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

SQL является стандартным средством доступа к серверу баз данных.

Назад на стр. 052-062-5  Содержание