Все, что вам нужно знать об этом
Индексы — это специальные таблицы поиска, которые должны использоваться поисковой системой базы данных для ускорения поиска данных. Индекс — это просто ссылка на данные в таблице. Индекс базы данных похож на индекс в конце журнала. Он не может быть просмотрен пользователями и используется только для ускорения доступа к базе данных.
Например, чтобы найти все страницы в книге, посвященные определенной теме, сначала нужно перейти к индексу, в котором в алфавитном порядке перечислены все темы, а затем перейти к одному или нескольким конкретным номерам страниц.
Индексы предотвращают дублирование записей в столбце или комбинации столбцов, на которых он создан. Поскольку индексы SQL в первую очередь являются инструментом производительности, они наиболее полезны, когда база данных увеличивается в размерах. Кластеризованный индекс является одним из самых популярных типов индексов, поддерживаемых SQL-сервером. Этот тип индекса автоматически создается с первичным ключом.
Два основных метода использования индекса в SQL:
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
- Команда СОЗДАТЬ ИНДЕКС
- Команда DROP INDEX
Команда CREATE INDEX
Эта команда используется для генерации индекса таблицы в SQL с использованием выражения build index. Во время создания таблицы она позволит вам принять дублированные данные в таблицу. Индексация ускоряет запросы к столбцам, создавая указатели на то, где данные хранятся в базе данных.
Предположим, вам нужно найти определенный фрагмент данных в огромной базе данных. Чтобы извлечь эти данные из базы данных, машина будет искать каждую строку, пока не найдет ее. Этот запрос займет много времени, если искомые вами данные находятся в конце.
Синтаксис:
CREATE INDEX имя_индекса ON имя_таблицы(Атрибут1, Атрибут2,…);
Код:
создать ИНДЕКС ind_1 для studentdet(regno,dept);
Объяснение:
Мы можем генерировать отсортированные списки, используя индексы в SQL, вместо того чтобы создавать новые отсортированные таблицы, которые заняли бы много места на диске.
INDEX — ключевое слово, указывающее на создание индекса.
Ind_1 — имя индекса.
Studentdet — имя таблицы.
В приведенном выше примере ind_1 был создан с полями regno и dept из таблицы studentdet.
Выход:
Станьте бизнес-аналитиком с использованием искусственного интеллектаПрограмма аспирантуры Purdue по бизнес-анализуИзучите сейчас
Индексы с одним столбцом
Для построения индекса одностороннего столбца используется всего один столбец таблицы. Чтобы создать индекс для одностороннего столбца из таблицы, используйте следующий синтаксис.
Синтаксис:
CREATE INDEX имя_индекса ON имя_таблицы(Атрибут1);
Код:
создать ИНДЕКС ind_reg для studentdet(regno);
Здесь ind_reg — индекс, созданный с атрибутом regno.
Выход:
Уникальные индексы
Согласно Индексу в SQL, уникальные индексы используются для целостности данных, а также точности. Уникальный индекс предотвращает ввод дублирующихся значений в таблицу.
Синтаксис:
СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС name_index для tables_na (Attribute_name);
Код:
СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС sitindex для Student_DB (L_Name);
Имя таблицы — Student_DB с полем L_Name. Sidendex — это уникальный индекс, созданный для таблицы Student_DB.
Выход:
Композитный индекс
Согласно Индексу в SQL, индекс по двум или более столбцам таблицы называется составным индексом. Он может создавать тот же индекс с разным количеством столбцов.
Синтаксис:
СОЗДАТЬ ИНДЕКС Имя_индекса В db_table(столбец1,столбец2…….);
Код:
СОЗДАТЬ ИНДЕКС stu_index В Student_DB(S_ID,L_Name);
Выход:
Станьте бизнес-аналитиком с использованием искусственного интеллектаПрограмма аспирантуры Purdue по бизнес-анализуИзучите сейчас
Неявные индексы
Сортированные списки можно генерировать с помощью индексов, а не создавать новые сортированные таблицы, которые занимают много места для хранения. Когда столбец идентифицируется как первичный ключ или специальный, неявные индексы генерируются автоматически. Для таких столбцов нам не нужно строить индекс.
Синтаксис:
СОЗДАТЬ ИНДЕКС IN_Name ON TN_Name(Атрибут1..);
Код:
СОЗДАТЬ ИНДЕКС ind_stu_det ДЛЯ Student_DB(Regno);
Таблица student_db имеет такие атрибуты, как regno, name, dept и т. д. Столбец или атрибут может идентифицировать ограничения первичного ключа или другие уникальные ограничения, индексы которых генерируются автоматически без какого-либо вмешательства.
Выход:
Команда DROP INDEX
Команда SQL DROP может использоваться для удаления индекса. При понижении индекса будьте осторожны, поскольку производительность может как снизиться, так и улучшиться. Эта команда обычно используется для удаления индекса в указанной таблице данных.
Синтаксис:
DROP INDEX имя_индекса на имя_таблицы;
Код:
DROP INDEX имя_индекса;
Выход:
Когда следует избегать индексов
Хотя индексы предназначены для повышения эффективности базы данных, существуют случаи, когда их следует избегать, например:
- На маленьких столиках
- Таблицы, которые получают много больших пакетных обновлений или вставок
- Столбцы с большим количеством нулевых значений
- Столбцы, которые часто подвергаются манипуляциям
- Где колонны регулярно подвергаются манипуляциям.
- Когда атрибут или поле часто обновляется
- Атрибуты не часто используются в качестве состояния запроса.
Преимущества индекса в SQL
- Ускорить выбор запроса
- Помогает сделать строку специальной или без дубликатов (основной, уникальной)
- Мы можем выполнить проверку по широким строковым значениям, если индекс настроен на полнотекстовый индекс, и найти слово из предложения.
Станьте самым высокооплачиваемым экспертом по бизнес-анализу с магистерской программой по бизнес-анализуУзнайте сейчас
Недостатки индекса в SQL
- Индексы занимают больше места на диске.
INSERT, UPDATE и DELETE замедляются индексами, но UPDATE ускоряется, если условие WHERE имеет индексированное поле. Поскольку индексы должны быть изменены с каждым процессом, INSERT, UPDATE и DELETE становятся медленнее.
Заключение
SQL Server в основном используется для хранения записей в схеме базы данных в виде страниц. В основном размер страницы записей составляет около 8 КБ. Каждая база данных имеет как минимум два файла: один для данных, который имеет тип файла по умолчанию .mdf, и один для журнала, который имеет тип файла по умолчанию .ldf. Для каждой таблицы в базе данных есть одна или несколько страниц. SQL Server использует специальную коллекцию страниц, называемую IAM (Index Allocation Map), для отслеживания этих страниц.
В этой статье вы узнали об индексах с синтаксисом и примерами. Чтобы получить опыт в языке программирования SQL, вы можете присоединиться к нашему курсу Simplilearn's Business Analytics for Strategic Decision Making with IIT Roorkee. Начните бесплатно изучать самые востребованные сегодня навыки. Курсы подчеркивали развитие хороших основных навыков для будущего карьерного роста.
Есть вопросы к нам? Оставляйте их в комментариях к этой статье, и наши специалисты ответят вам на них как можно скорее!
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)