当前位置:网站首页>MySQL - index
MySQL - index
2022-07-03 21:03:00 【Can't learn java】
List of articles
1、 brief introduction
MySQL The official definition of index is : Indexes (Index) Help MySQL Data structure for efficient data acquisition .
Index in a small amount of data , Not very useful , But when it comes to big data , The difference is obvious .
2、 Classification of indexes
2.1、 primary key (PRIMARy KEY)
- The only sign , The primary key cannot be repeated , A table can only have one primary key .
2.2、 unique index (UNIQUE KEY)
- Avoid duplicate data , The unique index can be repeated , A table can have multiple unique indexes
2.3、 General index (KEY/INDEX)
- default ,index,key Keyword to set
2.4、 Full-text index (FullText)
- Only under the specific database engine ,MySAM
- Quickly locate data
3、 Test index
3.1、 establish 100 Ten thousand data
CREATE TABLE `app_user` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) DEFAULT'' COMMENT' The user nickname ',
`email` VARCHAR(50) NOT NULL COMMENT' User mailbox ',
`phone` VARCHAR(20) DEFAULT'' COMMENT' cell-phone number ',
`gender` TINYINT(4) UNSIGNED DEFAULT '0'COMMENT ' Gender (0: male ;1: Woman )',
`password` VARCHAR(100) NOT NULL COMMENT ' password ',
`age` TINYINT(4) DEFAULT'0' COMMENT ' Age ',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT = 'app User table '
-- Insert 100 Play data
DELIMITER $$ -- Before you write a function, you have to write , sign
CREATE FUNCTION mock_data()
RETURNS INT
BEGIN
DECLARE num INT DEFAULT 1000000;
DECLARE i INT DEFAULT 0;
WHILE i<num DO
INSERT INTO app_user(`name`,`email`,`phone`,`gender`,`password`,`age`)
VALUES(CONCAT(' user ',i),'[email protected]',CONCAT('15',FLOOR(RAND()*(999999999-100000000)+100000000)),
FLOOR(RAND()*2),UUID(),FLOOR(RAND()*100));
SET i=i+1;
END WHILE;
RETURN i;
END;
SELECT mock_data()
- Query the first 999999 Data :SELECT * FROM app_user WHERE
name=‘ user 999999’;
3.2、 Add index
-- id_ Table name _ Field name
CREATE INDEX id_app_user_name ON app_user(`name`)
- Query the first 999999 Data :SELECT * FROM app_user WHERE
name=‘ user 999999’;
4、 Indexing principles
- More indexes is not better
- Don't index frequently changing data
- A table with a small amount of data does not need to be indexed
- The index is usually added to the fields commonly used for query
边栏推荐
- Quickly distinguish slices and arrays
- Sort out several network request methods of JS -- get rid of callback hell
- CesiumJS 2022^ 源码解读[7] - 3DTiles 的请求、加载处理流程解析
- Inventory 2021 | yunyuansheng embracing the road
- Research Report on the overall scale, major manufacturers, major regions, products and application segmentation of rotary tablet presses in the global market in 2022
- Hcie security Day10: six experiments to understand VRRP and reliability
- Link aggregation based on team mechanism
- Interval product of zhinai sauce (prefix product + inverse element)
- Measurement fitting based on Halcon learning -- Practice [1]
- MySQL——索引
猜你喜欢

JVM JNI and PVM pybind11 mass data transmission and optimization

Sightseeing - statistics of the number of shortest paths + state transfer + secondary small paths

Line segment tree blue book explanation + classic example acwing 1275 Maximum number

Nmap and masscan have their own advantages and disadvantages. The basic commands are often mixed to increase output

Transformer structure analysis and the principle of blocks in it

Talk about daily newspaper design - how to write a daily newspaper and what is the use of a daily newspaper?

jvm jni 及 pvm pybind11 大批量数据传输及优化

Rhcsa third day notes

Basic preprocessing and data enhancement of image data

Battle drag method 1: moderately optimistic, build self-confidence (1)
随机推荐
University of Electronic Science and technology | playback of clustering experience effectively used in reinforcement learning
Advanced collaboration: coroutinecontext
Etcd raft Based Consistency assurance
Refer to some books for the distinction between blocking, non blocking and synchronous asynchronous
你真的知道自己多大了吗?
Transformer structure analysis and the principle of blocks in it
Operate BOM objects (key)
thrift go
Volley source code analysis
Qualcomm platform WiFi -- P2P issue
一台服务器最大并发 tcp 连接数多少?65535?
Interval product of zhinai sauce (prefix product + inverse element)
浅析 Ref-NeRF
How to modify the network IP addresses of mobile phones and computers?
Leetcode daily question 540 A single element in an ordered array Valentine's Day special article looking for a single dog in a pile of lovers ~ the clown is myself
@Transactional注解失效的场景
Such as the visual appeal of the live broadcast of NBA Finals, can you still see it like this?
Getting started with postman -- environment variables and global variables
QT6 QML book/qt quick 3d/ Basics
Q&A:Transformer, Bert, ELMO, GPT, VIT