Для ускорения поиска данных можно создавать индексы. Индекс - это системная таблица, построенная по значениям заданного столбца заданной таблицы. В нем размещается перечень уникальных значений указанного столбца таблицы со ссылками на те ее строки, где встречаются эти значения (структура, похожая на предметный указатель книги). SQL намеренно не включает в свои конструкции ссылки на индексы. Решение о том, использовать или не использовать какой-либо индекс при обработке некоторого конкретного запроса принимается не пользователем, а оптимизатором СУБД. Для оптимальной производительности запросов индексы обычно создаются на тех столбцах таблицы, которые часто используются в запросах. Для одной таблицы может быть создано несколько индексов. Однако увеличение числа индексов замедляет операции добавления, обновления, удаления строк таблицы, поскольку при этом приходится обновлять сами индексы. Кроме того, индексы занимают дополнительный объем памяти, поэтому перед созданием индекса следует убедиться, что планируемый выигрыш в производительности запросов превысит дополнительную затрату ресурсов компа на сопровождение индекса. Для построения индекса в SQL существует предложение CREATE INDEX (создать индекс), имеющее формат: CREATE [UNIQUE] INDEX имя_индекса ON базовая_таблица (столбец [[ASC] | DESC] [, столбец [[ASC] | DESC]] ...); где UNIQUE (уникальный) указывает, что никаким двум строкам в индексируемой базовой таблице не позволяется принимать одно и то же значение для индексируемого столбца (или комбинации столбцов) в одно и то же время. Например, индексы для столбцов БЛ и Основа таблицы Блюда создаются с помощью предложений CREATE UNIQUE INDEX Блюда_БЛ ON Блюда (БЛ); CREATE INDEX Блюда_Основа ON Блюда (Основа); а индекс для первичного ключа (столбцы БЛ и ПР) таблицы Состав - с помощью предложения CREATE UNIQUE INDEX Состав_БЛ_ПР ON Состав (БЛ, ПР).Уничтожить индекс: DROP INDEX имя_индекса;