индекс SQLite
Индекс (Index) является специальной таблицы поиска, поиск в базе данных двигателя используется для ускорения поиска данных. Проще говоря, индекс представляет собой указатель на данные в таблице. Индекс базы данных книги позади индекса очень похож.
Например, если вы хотите, чтобы обсудить конкретную тему в книге все страницы ссылаются, в первую очередь необходимо указать индекс, алфавитный список всех тем, а затем указать на одну или более определенного числа страниц.
Индексы позволяют быстро SELECT, запрос и условие WHERE, но это приведет к замедлению ввода данных с помощью UPDATE и INSERT заявления, когда. Индекс может быть создан или удален, но не повлияет на данные.
Создать индекс с помощью CREATE INDEX заявление, которое позволяет назвать индекс, необходимо указать таблицу для индексирования и один или несколько столбцов, а также указывает индекс по возрастанию или по убыванию.
Индекс может быть уникальным, и подобное ограничение уникальности для предотвращения дублирования записей в столбце или комбинации столбцов.
Команда CREATE INDEX
CREATE INDEX Базовый синтаксис выглядит следующим образом :
CREATE INDEX index_name ON table_name;
Отдельный индекс
Индекс основан на только один индекс на списке созданного. Базовый синтаксис выглядит следующим образом:
CREATE INDEX index_name ON имя_таблицы (имя_столбца);
Уникальный индекс
Использование уникального индекса не только для работы, но и целостность данных. Уникальный индекс не допускает никаких повторяющихся значений в таблицу. Базовый синтаксис выглядит следующим образом:
CREATE UNIQUE INDEX index_name on table_name (column_name);
композитный индекс
Индекс Состав основан на двух или нескольких столбцах таблицы, созданной. Базовый синтаксис выглядит следующим образом:
CREATE INDEX index_name на table_name (column1, Столбец2);
Вы хотите, чтобы создать отдельный индекс является составным индексом, принимая во внимание очень часто в ваших условий фильтрации запросов в столбцах ИНЕКЕ.
Если значение использования колонки, предпочитают использовать отдельный индекс. Если есть фильтр в предложении WHERE часто используют два или более столбцов, а затем решили использовать комбинацию индекса.
Подразумеваемый индекс
Подразумеваемый индекс является то, что при создании объекта, автоматически создается сервером базы данных. Индексы автоматически создаются в качестве первичного ключа ограничения и ограничения уникальности.
примеров
Вот пример, мы создадим индекс таблицы заработной платы колонки КОМПАНИИ:
SQLite> CREATE INDEX salary_index о компании (заработной платы);
Теперь, давайте использовать.indices команда выводит список всех доступных индексов на таблице компании следующим образом :
SQLite> .indices КОМПАНИЯ
Это дает следующие результаты, которыеsqlite_autoindex_COMPANY_1неявный индекс создается при создании таблицы.
salary_index sqlite_autoindex_COMPANY_1
Вы можете перечислить все диапазоны базы данных индекса, следующим образом:
SQLite> SELECT * FROM sqlite_master где тип = 'Индекс';
Команда DROP INDEX
Индекс может использовать команду SQLiteDROP для удаления.Особое внимание должно быть, если удалить индекс, так как производительность может уменьшаться или увеличиваться.
Базовый синтаксис выглядит следующим образом:
DROP INDEX index_name;
Вы можете использовать следующую инструкцию, чтобы удалить индекс, созданный ранее:
SQLite> DROP INDEX salary_index;
При каких обстоятельствах, чтобы избежать использования индекса?
Хотя индекс является повышение производительности базы данных, но здесь несколько случаев необходимость избегать использования индекса. При использовании индекса, следующие принципы должны быть пересмотрены:
Индекс не должен использоваться на небольших таблицах.
Индекс не следует использовать в больших количествах есть частые обновления и операция вставки таблицы.
Индекс не должен использоваться в столбце содержит большое количество нулевых значений.
Индекс не должен использоваться на частой работе колонны.