Комбинация типа/создания/использования индекса базы данных MySQL Использование инструкции ALTER в MySQL

MySQLтип индекса/создать/использовать комбинацию изменить вMySQLиспользование оператора команды

индексы MySQL

Создание индекса MySQL очень важно для эффективной работы MySQL, и индекс может значительно повысить скорость поиска MySQL.

Например, если правильно спроектированный и проиндексированный MySQL — это Lamborghini, то MySQL без индексированного дизайна — человеческий трехколесный велосипед.

Индекс делится на индекс с одним столбцом и составной индекс.Одностолбцовый индекс, то есть индекс содержит только один столбец, таблица может иметь несколько одностолбцовых индексов, но это не составной индекс.Составной индекс, то есть один индекс содержит несколько столбцов.

При создании индекса необходимо убедиться, что индекс является условием, применимым к SQL-запросу (обычно как условие предложения WHERE).

По сути, индекс — это тоже таблица, таблица сохраняет первичный ключ и поля индекса и указывает на записи таблицы сущностей.

Все вышесказанное касается преимуществ использования индексов, но чрезмерное использование индексов приведет к злоупотреблениям.Поэтому у индекса тоже будут свои недостатки: индекс хоть и значительно улучшит скорость запросов, но снизит скорость обновления таблицы, например, INSERT, UPDATE и DELETE по таблице.Потому что при обновлении таблицы MySQL не только сохраняет данные, но и сохраняет индексный файл.

Индексирование индексного файла, который занимает место на диске.


Нормальный индекс

создать индекс

Это самый базовый индекс, он не имеет ограничений.Его можно создать следующими способами:

CREATE INDEX indexName ON mytable(username(length)); 

Для типов CHAR и VARCHAR длина может быть меньше фактической длины поля, для типов BLOB и TEXT длина должна быть указана.

Изменить структуру таблицы (добавить индекс)

ALTER table tableName ADD INDEX indexName(columnName)

Укажите непосредственно при создании таблицы

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

Синтаксис для удаления индекса

DROP INDEX [indexName] ON mytable; 

Уникальный индекс

Аналогичен предыдущему обычному индексу, разница в том, что значение столбца индекса должно быть уникальным, но допускаются нулевые значения.В случае составного индекса комбинация значений столбцов должна быть уникальной.Его можно создать следующими способами:

создать индекс

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

Изменить структуру таблицы

ALTER table mytable ADD UNIQUE [indexName] (username(length))

Укажите непосредственно при создании таблицы

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

Добавляйте и удаляйте индексы с помощью команды ALTER.

Есть четыре способа добавить индекс в таблицу данных:

  • ALTER TABLE tbl_name ДОБАВИТЬ ПЕРВИЧНЫЙ КЛЮЧ (column_list): Этот оператор добавляет первичный ключ, а это значит, что значения индекса должны быть уникальными и не могут быть NULL.
  • ALTER TABLE имя_таблицы ДОБАВИТЬ УНИКАЛЬНОЕ имя_индекса (список_столбцов): Значение индекса, созданного этим оператором, должно быть уникальным (кроме NULL, NULL может встречаться несколько раз).
  • ALTER TABLE имя_таблицы ДОБАВИТЬ ИНДЕКС имя_индекса (список_столбцов): Добавьте обычный индекс, значение индекса может появляться несколько раз.
  • ALTER TABLE имя_таблицы ДОБАВИТЬ ПОЛНЫЙТЕКСТ имя_индекса (список_столбцов):Оператор указывает индекс как FULLTEXT для полнотекстового индексирования.

В следующем примере показано добавление индекса к таблице.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Вы также можете использовать предложение DROP в команде ALTER для удаления индексов.Попробуйте следующий экземпляр, чтобы удалить индекс:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

Добавляйте и удаляйте первичные ключи с помощью команды ALTER.

Первичный ключ может действовать только на один столбец.При добавлении индекса первичного ключа необходимо убедиться, что первичный ключ не равен NULL по умолчанию (НЕ NULL).Примеры следующие:

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Вы также можете удалить первичный ключ с помощью команды ALTER:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Вам нужно только указать PRIMARY KEY при удалении первичного ключа, но при удалении индекса вы должны знать имя индекса.


показать информацию об индексе

Вы можете использовать команду SHOW INDEX, чтобы отобразить соответствующую информацию индекса в таблице.Выходную информацию можно отформатировать, добавив \G.

Попробуйте следующие примеры:

mysql> SHOW INDEX FROM table_name; \G
........

Блог Хоуп Чен Вейлян ( https://www.chenweiliang.com/ ) поделился «Тип индекса базы данных MySQL/Создание/Использование комбинации ALTER Использование оператора в MySQL», который будет полезен для вас.

Добро пожаловать, чтобы поделиться ссылкой на эту статью:https://www.chenweiliang.com/cwl-496.html

Добро пожаловать на Telegram-канал блога Chen Weiliang, чтобы быть в курсе последних обновлений!

🔔 Будьте первым, кто получит ценное «Руководство по использованию инструмента искусственного интеллекта для контент-маркетинга ChatGPT» в верхнем каталоге канала! 🌟
📚 Это руководство содержит огромную ценность. 🌟Это редкая возможность, не упустите ее! ⏰⌛💨
Делитесь и ставьте лайк, если хотите!
Ваш обмен и лайки - наша постоянная мотивация!

 

发表 评论

Ваш электронный адрес не будет опубликован. 必填 项 已 用 * 标注

滚动 到 顶部