
- •19.Назначение библиотеки программирования клиентов. Api интерфейсы, поддерживаемые субд MySql. Критерии выбора api интерфейса.
- •20. Описание порядка взаимодействия пользователя с сервером MySql через web-интерфейс, реализованный средствами php. Схема трехуровневой архитектуры "клиент-сервер".
- •Закрытие соединения с sql-сервером
- •1 Способ
- •2Способ
- •24Проверка результатов запроса на значения "null"
- •27.Типы таблиц, поддерживаемые субд MySql. Их характеристика.
- •32)Понятие cookie. Команды установки и удаления cookie. Получение значений, хранящихся в cookie.
- •33)Понятие http-аутентификации и сессий. Функции хэширования данных. Технология работы с сессиями в рнр.
- •28)Понятие транзакции. Типы таблиц, поддерживающие транзакции, их преимущества Способы создания транзакций.
- •29)Понятие транзакции. Типы таблиц, не поддерживающие транзакции. Решение проблем транзакций без применения механизма транзакций.
- •31)Понятие индекса и индексирования. Преимущества. Правила отбора столбцов для инд.. Типы индексов. Способы задания индексов.
- •34)Понятие констант, переменных и функций в php. Способ описания констант. Синтаксис описания функции в php.Вызов функции. Прим.
31)Понятие индекса и индексирования. Преимущества. Правила отбора столбцов для инд.. Типы индексов. Способы задания индексов.
Индексирование-наиболее важный инструмент ускоренной работы. Индексы удобны при создании запросов как одной так и к нескольким таблицам. Воднотабличном запросе (без использования индексов)кол-во значений анализируемых во время запроса=кол-ву строк таблицы.
В запросах с несколькими таблицами кол-во обращений=произведению колиочества строк каждой из таблиц.Пример:Если имеется 3таблицы с кол-вом записей 1000 в каждой.при выборке нужной записи из 3х неиндексированных таблиц кол-во комбинаций соответствует 1000*1000*1000=1миллиард
Выполнение такого же запроса к неиндексированным таблицам потребует 1000 комбинаций т.е запрос будет выполняться в млн раз быстрее.
Правила отбора столбцов для индексирования:
1.необходимо индексировть искомые, сортируемые и группируемые, а не выбираемые столбцы(помле WHERE или ORDER BY или GROUP BY).
2.Использовать короткие индексы
3.как можно эффективнее использовать левый крайний префикс.
Если таблица индексируется по нескольким столбцам,т.е создается индекс по 3м столбцам, то 1ый столбец в индексе называется крайним левым индексом.именно по нему сортируются и выбираются зписи из индекса.
Пример:в таблице проиндексированной по 3м столбцам ФИО строки отсортированы в порядке фамилия, а также автоматически отсортированы в порядке фамилия имя и фамилия имя отчество. Именно по таким комбинациям можно использовать индекс. Индекс не будет задействован при поиске значений кот.не удовлетвооряют правилу левого крайнего,т.е при поиске имя отчества;отчество;фамилия и отчество.
Способы задания индексов.
1.таблицу можно индексировать по одному или нескольким столбцам одновременно.индексу может быть задан режим(повтор значений) или только уникальные значения.
2.строковый тип можно индексировать по первым 3 символам слева ENUM SET
3.Таблицы могут содержать для MyISAM и InnoDB.
СУБД MySQL позволяют создавать несколько типов индексов:
1.обычный(неуникальный)индекс INDEX(KEY)-позволяет индексировать столбцы с повторяющ.значением в них.
2.уникальные индексы UNIQUE-несколько на таблицу не содержащих повтор значений, но может содержать пустые значения и PRIMАRY KEY-1 на таблицу не допускает повторяющихся и пустых значений..
3.Индекс типа FULL TEXT Для табл MyISAM кот используется для поиска по контексту.
Индексы можно создавать:
1.С помощью оператора CREATE TABLE ИМЯ_ТАБЛИЦЫ(описание столбцов таблицы….)
INDEX ИМЯ ИНДЕКСА(список индексированных столбцов)
UNIQUE ИМЯ ИНДЕКСА
PTIMARY KEY
FULL TEXT
2. с помощью оператора ALTER TABLE для уже существующих таблиц
ALTER TABLE имя таблицы add index, add unique, add primary key.
3. с помощью оператора CREATE INDEX
CREATE UNIQUE INDEX = ИМЯ ИНДЕКСА
INDEX= ИМЯ ИНДЕКСА
FULL TEXT INDEX= ИМЯ ИНДЕКСА
ON имя_таблицы(список индексированных столбцов)