Mysql index types and basic usage examples

Mysql index types and basic usage examples

This article uses examples to illustrate the types and basic usage of MySQL indexes. Share with you for your reference, the details are as follows:

index

MySQL currently has the following main index types:

  • Normal index
  • Unique Index
  • Primary key index
  • Composite Index
  • Full-text index

- General index

Is the most basic index, it has no restrictions.

CREATE INDEX IndexName ON `TableName`(`field name`(length))

- Unique index

Similar to the previous ordinary index, the difference is that the value of the index column must be unique, but null values ​​are allowed. If it is a composite index, the combination of column values ​​must be unique.

CREATE UNIQUE INDEX indexName ON table(column(length))

- Primary key index

It is a special unique index. A table can only have one primary key and no null values ​​are allowed. Generally, the primary key index is created at the same time as the table is created.

CREATE TABLE `table` (
  `id` int(11) NOT NULL AUTO_INCREMENT ,
  `title` char(255) NOT NULL ,
  PRIMARY KEY (`id`)
);

- Combined index

Refers to an index created on multiple fields. The index will be used only if the first field when the index is created is used in the query condition. Follow the leftmost prefix set when using a composite index

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);

- Full text index

It is mainly used to find keywords in text rather than directly comparing with values ​​in the index. The fulltext index is very different from other indexes. It is more like a search engine rather than a simple parameter match of a where statement. The fulltext index is used in conjunction with the match against operation, rather than the general where statement plus like. It can be used in create table, alter table, and create index, but currently only char, varchar, and text columns can be used to create full-text indexes. It is worth mentioning that when the amount of data is large, it is much faster to put the data into a table without a global index and then create a fulltext index with CREATE index than to create a fulltext index for a table first and then write the data.

CREATE TABLE `table` (
  `id` int(11) NOT NULL AUTO_INCREMENT ,
  `title` char(255) CHARACTER NOT NULL ,
  `content` text CHARACTER NULL ,
  `time` int(10) NULL DEFAULT NULL ,
  PRIMARY KEY (`id`),
  FULLTEXT (content)
);

Readers who are interested in more MySQL-related content can check out the following topics on this site: "Summary of MySQL Index Operation Skills", "Summary of MySQL Common Functions", "Summary of MySQL Log Operation Skills", "Summary of MySQL Transaction Operation Skills", "Summary of MySQL Stored Procedure Skills" and "Summary of MySQL Database Lock-Related Skills".

I hope this article will be helpful to everyone's MySQL database design.

You may also be interested in:
  • Summary of knowledge points about covering index in MySQL
  • Detailed explanation of MySQL InnoDB index extension
  • MySQL performance optimization: how to use indexes efficiently and correctly
  • Basic syntax of MySQL index
  • Detailed explanation of MySQL combined index method
  • A quick guide to MySQL indexes
  • An article to master MySQL index query optimization skills
  • Detailed explanation of the underlying implementation of descending index, a new feature of MySQL 8
  • Which is faster among MySQL full-text index, joint index, like query, and json query?
  • How to use MySQL covering index and table return
  • Various types of MySQL indexes

<<:  js to realize the rotation of web page pictures

>>:  Solve the problem that Alibaba Cloud SSH remote connection will be disconnected after a short time

Recommend

mysql5.7.19 zip detailed installation process and configuration

MySQL v5.7.19 official version (32/64 bit install...

How to use ssh tunnel to connect to mysql server

Preface In some cases, we only know the intranet ...

Do you know the common MySQL design errors?

Thanks to the development of the Internet, we can...

Summary of ten Linux command aliases that can improve efficiency

Preface Engineers working in the Linux environmen...

How to enable MySQL remote connection in Linux server

Preface Learn MySQL to reorganize previous non-MK...

Causes and solutions for MySQL master-slave synchronization delay

For historical reasons, MySQL replication is base...

Search optimization knowledge to pay attention to in web design

1. Link layout of the new site homepage 1. The loc...

Install and configure MySQL under Linux

System: Ubuntu 16.04LTS 1\Download mysql-5.7.18-l...

mysql command line script execution example

This article uses an example to illustrate the ex...

Vue implements online preview of PDF files (using pdf.js/iframe/embed)

Preface I am currently working on a high-quality ...

NodeJS realizes image text segmentation

This article shares the specific code of NodeJS t...

Detailed code examples of seven methods for vertical centering with CSS

When we edit a layout, we usually use horizontal ...

Implementation of installing and uninstalling CUDA and CUDNN in Ubuntu

Table of contents Preface Install the graphics dr...