В этой статье в основном описывается, как ускорить анализ индекса MySQL и оптимизацию динамических веб-сайтов. Онлайн-руководство iSH China
1. Что такое индекс? Интернет-индекс iSH China Tutorial
используется для быстрого поиска записей с определенными значениями. Все индексы MySQL сохраняются в виде B-деревьев. Если индекса нет, MySQL при выполнении запроса должен сканировать все записи во всей таблице, начиная с первой записи, пока не найдет запись, соответствующую требованиям. Чем больше записей в таблице, тем выше стоимость этой операции. Если для столбца, используемого в качестве условия поиска, создан индекс, MySQL может быстро получить местоположение целевой записи без сканирования каких-либо записей. Если в таблице 1000 записей, поиск записей по индексу происходит как минимум в 100 раз быстрее, чем последовательное сканирование записей. Интернет-руководство по китайскому языку iSH
Предположим, мы создаем таблицу с именем люди: Онлайн-учебник по китайскому языку iSH
CREATE TABLEpeople (peopleid SMALLINT NOT NULL,
Имя онлайн-учебника по китайскому языку iSH CHAR(50) NOT NULL );
Тогда мы совершенно случайны. Вставьте 1000; разные значения имени в таблицу людей. Столбцы имен не имеют явного порядка в файле данных. Если мы создадим индекс для столбца имени, MySQL отсортирует столбец имени в индексе. Для каждого элемента индекса MySQL внутренне сохраняет «указатель» на фактическое местоположение записи в файле данных. Итак, если мы хотим найти идентификатор человека записи, имя которой равно «Майк» (команда SQL — «SELECT personid FROM People WHERE name='Mike';»), MySQL сможет найти значение «Майк» в индексе имени, а затем перейти непосредственно к соответствующей строке в файле данных возвращает именно идентификатор человека (999) этой строки. Во время этого процесса MySQL необходимо обработать только одну строку, чтобы вернуть результат. Если в столбце «имя» нет индекса, MySQL просканирует все записи в файле данных, то есть 1000 записей! Очевидно, что чем меньшее количество записей необходимо обработать MySQL, тем быстрее он сможет выполнить задачу. iSH Chinese Tutorial Online
2. Типы индексов iSH Chinese Tutorial Online
MySQL предоставляет на выбор множество типов индексов: iSH Chinese Tutorial Online
обычный индекс: iSH Chinese Tutorial Online
Это самый простой тип индекса, не имеющий таких ограничений, как уникальность. . Обычные индексы можно создавать следующими способами: онлайн-учебник по китайскому языку iSH
создает индекс, например, CREATE INDEX <имя индекса> ON имя таблицы (список столбцов); онлайн-учебник по китайскому языку iSH
изменяет таблицу, например, ALTER TABLE имя_таблицы ADD; INDEX [имя индекса] ] (список столбцов); iSH Китайский онлайн-учебник
Укажите индекс при создании таблицы, например CREATE TABLE имя_таблицы ([...], INDEX [имя индекса] (список столбцов));
Уникальный индекскитайского учебника онлайн
: iSH Китайский онлайн-учебник
Этот вид индекса по сути аналогичен предыдущему «обычному индексу», но есть одно отличие: все значения в столбце индекса могут появляться только один раз, то есть они должны быть уникальным. Уникальные индексы можно создавать следующими способами: онлайн-уроки iSH по китайскому языку
создают индексы, например CREATE UNIQUE INDEX <имя индекса> ON имя таблицы (список столбцов); онлайн-учебники iSH по китайскому языку
изменяют таблицы, например ALTER TABLE имя_таблицы ADD UNIQUE [индекс); name] (список столбцов); iSH Chinese Tutorial Online
Укажите индекс при создании таблицы, например, CREATE TABLE tablename ([...], UNIQUE [имя индекса] (список столбцов iSH Chinese Tutorial Online));
первичный ключ: онлайн-руководство по китайскому языку iSH
Первичный ключ — это уникальный индекс, но он должен быть указан как «ПЕРВИЧНЫЙ КЛЮЧ». Если вы когда-либо использовали столбцы типа AUTO_INCREMENT, возможно, вы уже знакомы с такими понятиями, как первичные ключи. Первичный ключ обычно указывается при создании таблицы, например «CREATE TABLE имя_таблицы ([...], PRIMARY KEY (список столбцов));». Однако мы также можем добавить первичные ключи, изменив таблицу, например «ALTER TABLE имя_таблицы ADD PRIMARY KEY (список столбцов);». Каждая таблица может иметь только один первичный ключ.
Полнотекстовый
онлайн-индекс iSH Chinese Tutorial
: онлайн-индекс iSH Chinese TutorialMySQL поддерживает полнотекстовое индексирование и полнотекстовый поиск, начиная с версии 3.23.23. В MySQL тип полнотекстового индекса — FULLTEXT. Полнотекстовые индексы можно создавать для столбцов типа VARCHAR или TEXT. Его можно создать командой CREATE TABLE, командой ALTER TABLE или CREATE INDEX. Для больших наборов данных создание полнотекстового индекса с помощью команды ALTER TABLE (или CREATE INDEX) выполняется быстрее, чем вставка записей в пустую таблицу с полнотекстовым индексом.