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

The grid is your layout plan for the page

<br /> English original: http://desktoppub.a...

In-depth understanding of Vue's data responsiveness

Table of contents 1. ES syntax getter and setter ...

Next.js Getting Started Tutorial

Table of contents Introduction Create a Next.js p...

How to use fdisk to partition disk in Linux

Commonly used commands for Linux partitions: fdis...

Detailed explanation of MySQL execution plan

The EXPLAIN statement provides information about ...

Vue realizes the product magnifying glass effect

This article example shares the specific code of ...

Some settings of Div about border and transparency

frame: Style=”border-style:solid;border-width:5px;...

Detailed explanation of global parameter persistence in MySQL 8 new features

Table of contents Preface Global parameter persis...

How to convert extra text into ellipsis in HTML

If you want to display extra text as ellipsis in ...

Linux nohup to run programs in the background and view them (nohup and &)

1. Background execution Generally, programs on Li...

A brief discussion on the lock range of MySQL next-key lock

Preface One day, I was suddenly asked about MySQL...

Analysis of MySQL duplicate index and redundant index examples

This article uses examples to describe MySQL dupl...

Detailed explanation of Nginx version smooth upgrade solution

Table of contents background: Nginx smooth upgrad...

Html to achieve dynamic display of color blocks report effect (example code)

Use HTML color blocks to dynamically display data...