Latest web development tutorials

Индекс MySQL

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

Например, если разумный дизайн и использование индекса MySQL является Lamborghini, то нет дизайн и использование индекса MySQL является трехколесный велосипед.

Индекс указывает отдельный индекс и сочетание индекса. Отдельный индекс, который содержит только один индекс столбца, таблица может иметь несколько отдельный индекс, но это не является составным индексом. Композитный индекс, а именно кабель, содержащий множество столбцов.

При создании индекса, вам необходимо убедиться, что индекс используется в условиях SQL запросов (как правило, в качестве условия ИНЕКЕ).

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

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

Индексация занимает дисковое пространство в индексном файле.


общий индекс

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

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

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

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

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

ALTER mytable ADD INDEX [indexName] ON (username(length)) 

При создании таблицы непосредственно указать

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 mytable ADD UNIQUE [indexName] ON (username(length)) 

При создании таблицы непосредственно указать

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

Используйте команду ALTER для добавления и удаления индексов

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

  • ALTER TABLE имя_таблицы ADD PRIMARY KEY (column_list ): Этот оператор добавляет первичный ключ, а это означает , что значение индекса должно быть уникальным и не может быть NULL.

  • ALTER TABLE имя_таблицы ADD UNIQUE index_name (column_list ): Этот оператор создает значение индекса должно быть уникальным ( за исключением внешнего NULL, NULL может появляться несколько раз).
  • ALTER TABLE имя_таблицы ADD INDEX index_name (column_list ): добавить нормальный индекс, значение индекса может происходить несколько раз.
  • ALTER TABLE имя_таблицы ADD FULLTEXT index_name (column_list ): Это утверждение указывает индекс FULLTEXT, для полнотекстового индексирования.

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

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

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

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

Используйте команду ALTER для добавления и удаления первичного ключа

Только действовать на столбец первичного ключа, когда вы добавляете индекс первичного ключа, вам необходимо убедиться, что ключ основной по умолчанию не является пустым (NOT 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
........