Автор работы: Пользователь скрыл имя, 18 Февраля 2013 в 22:59, реферат
На сегодняшний день СУБД MySQL является одной из самых известных, надежных и быстрых из всего семейства существующих СУБД. Почему именно она? Одной из причин являются правила ее распространения — за нее не надо платить деньги и распространяется она вместе со своими исходными текстами, другая причина – это то, что MySQL относительно быстрая СУБД. PostgreSql, например, также распространяется под лицензией *GNU GPL, но она не получила столь широкого распространения. Одна из причин — это заметная медлительность. Итак, две главные причины популярности MySQL: цена и производительность.
-I or -? |
Справка. |
-f |
Послать сигнал без запроса подтверждения. |
-t |
Вывести список процессов, соответствующих образцу, но не сигнал им не посылать. |
В качестве сигнала допускается любой сигнал системы unix. По умолчанию сигнал = 9 (завершить процесс).
При указании опции -O, отдельно (без дополнительных параметров) можно получить список всех переменных и их текущих значений. Это может выглядеть примерно так:
$ mysqld -O
Возможные переменные в опции -O:
Имя |
Значение по умолчанию |
back_log |
Определите размер очереди для входящих tcp/ip подключений.. Некоторые ОС могут иметь максимальное значение этой переменной 128 или 256. |
keybuffer |
Размер кэш-буфера, для хранения всех недавно использованных ключей. Большой буфер дает самую лучшую эффективность. С переключателем -Sl распределен только один буфер. |
max_allowed_packet |
Буфер подключений сервера может быть изменен до этого значения, если пользователь дает длинную команду. Начальный буфер = 'net_buffer_length'. На каждое подключение выделяется один буфер. |
net_buffer_length |
Начальный размер буфера подключений. На каждое подключение выделяется один буфер. |
max_connections |
Максимальное число |
table_cache |
Максимальное число таблиц сохраняемых открытыми на сервере. Таблицы хранятся открытыми, для ускорения запроса к часто используемым таблицам. Однако, каждая открытая таблица требует много памяти. |
recordbuffer |
Размер кэш-буфера для хранения прочитанных записей. На каждое подключение выделяется один буфер. |
sortbuffer |
Размер буфера, используемого при сортировке. На каждое подключение выделяется один буфер. |
max_sort_length |
Максимальное время для |
4. Возможности языка Perl для работы с MySQL
сервером.
При написании программы к данной работе выбран язык Perl, т. к. сегодня MySQL более широкое распространение получил на Web-серверах. А Perl как нельзя лучше других языков подходит для написания CGI-приложений. Взаимодействие сценария на языке Perl с MySQL можно изобразить схемой:
Сценарий Perl–>DBI –>DBD::MySQL–>Cервер MySQL.
DBI обеспечивает единый интерфейс взаимодействия с различными системами управления базами данных. А DBD связывает этот интерфейс непосредственно с конкретной СУБД. В нашем случае это mysql. Для того, чтобы программа на Perl могла общаться и работать с базой данных, необходимо подключить модуль DBI и драйвер DBD. Это выполняется следующими операторами:
use DBI; use DBD::mysql;
Для того чтобы выполнять SQL запросы к базе данных, нужно установить логическое соединение с MySQL. Это выполняется при помощи метода объекта DBI. При этом он возвращает объект (дескриптор) соединения, который будет использоваться для непосредственного общения с базой данных.
$dbh = DBI->connect('DBI:mysql:
Вызывая метод connect, ему передаются некоторые параметры. Первый параметр определяет свойства соединения.
Эта строка имеет следующую структуру:
"dbi:<имя DBD>:dbname= <имя базы данных>; host=<имя хоста>; port=<номер порта>"
Далее в методе connect определяются имя пользователя, пароль и флаги соединения.
Существует два способа работы с базами данных MySQL. Первый — так называемый механизм курсоров, а второй, соответственно, без использования таковых.
Курсоры — это объекты Perl, которые обеспечивают последовательный доступ к результатам запросов.
Каждый курсор отвечает за закрепленный за ним запрос.
$cur = $dbh->prepare('select * from MAIN;');
$cur — это курсор, который для
начала следует выполнить,
$cur->execute;
Теперь, после выполнения запроса, чтобы получить результат запроса, используется метод fetchrow_array. Он поочередно возвращает массив полей результативной виртуальной таблицы.
Очень часто бывает необходимо подготовить запрос и после, при его выполнении, передавать ему различные данные. Это довольно просто решается при помощи механизма placeholders:
$cur = $dbh->prepare('insert into MAIN values(?,?)');
где вопросительные знаки следует заменить на значения переменных, переданных в качестве параметров метода execute:
$a00 = 2; $a01 = 'second record'; $cur->execute($a00, $a01);
Для того чтобы закрыть курсор, необходимо выполнить метод finish.
$cur->finish;
Курсоры очень удобный момент в технологии DBI. Однако можно обойтись и без них. Существует множество методов, которые вполне неплохо заменяют курсоры:
selectrow_array — возвращает одну строку запроса в виде массива;
selectall_arrayref — возвращает весь ответ сервера в виде массива, ссылка на массивы;
do — выполняет запрос, ничего не возвращая (очень удобно при работе с insert, update и пр.)
Для того чтобы разорвать соединение с MySQL, необходимо выполнить метод disconnect.
$dbh->disconnect;
Заключение.
В процессе написания реферата были выяснены следующие свойства MySQL сервера:
Итак, популярность MySQL сервера определяется не только тем, что пакет распространяется бесплатно и имеет высокую производительность, но ещё и тем, что имеет множество вышеперечисленных достоинств, многих из которых нет у других СУБД.
И виртуальный магазин, и сервер знакомств, и всевозможные сайты, предоставляющие платные услуги, — все нуждаются в возможности обрабатывать и хранить большие объемы информации. MySQL предоставляет всем эту возможность совершенно бесплатно. Это действительно одна из самых мощных, быстрых и надежных СУБД.
www.mysql.com
www.infocity.kiev.ua