Главная > Программы > База данных > MySQL Использование индексов в СУБД MySQLВ СУБД MySQL индексы являются основным средством ускорения доступа к содержимому таблиц; особенное это касается запросов, включающих объединение нескольких таблиц. СУБД MySQL использует индексы в нескольких аспектах:
Существуют достаточно гибкие способы создания индексов:
При использовании индексов существуют ограничения, но по мере развития СУБД они
сужаются. Свои особенности накладывают выбранные механизмы хранения, например,
если применить индекс Для создания индекса index_name по таблице table_name необходимо выполнить запрос: CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX index_name [ USING = index_type ] ON table_name (index_columns) Ключевые слова ALTER TABLE table_name ADD PRIMARY KEY (index_columns) ALTER TABLE table_name ADD INDEX [index_name] (index_columns) ALTER TABLE table_name ADD FULLTEXT [KEY | INDEX] [index_name] (index_columns) ALTER TABLE table_name ADD UNIQUE (index_name) (index_columns) ALTER TABLE table_name ADD SPATIAL [KEY | INDEX] [index_name] (index_columns) Если указано несколько столбцов, то из имена следует разделять запятыми. Если
имя индекса index_name не определено, оно создается автоматически на основе
первого индексируемого столбца. Кроме того, оператор ALTER TABLE table_name DROP [KEY | INDEX] index_name ALTER TABLE table_name DROP PRIMARY KEY Индексы можно удалять с помощью оператора DROP INDEX index_name ON table_name DROP INDEX `PRIMARY` ON table_name Для определения алгоритма индексирования можно использовать оператор У составных индексов существует особенность использования, которая определяется тем, что при наличии такого индекса, например, для столбцов (col1, col2, col3), любой крайний левый префикс может быть использован для поиска. То есть нет необходимости дополнительно создавать индексы (col1) и (col1, col2). Несмотря на все преимущества индексирования, эта операция имеет и недостатки. Во-первых, индексы ускорять поиск данных, но замедляют операции добавления, удаления и модификации в индексируемых столбцах. Это связано с тем, что чем больше индексов имеет таблица, тем больше замедление операций над записями. Во-вторых, индексных файл занимает определенное дисковое пространство. При создании большого количества индексов размер такого файла может быстро достичь максимально возможного (для современных систем максимальный размер файла может быть очень большим). Список использованных источников:
Главная > Программы > База данных > MySQL |