当前位置:网站首页>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
边栏推荐
- MySQL——数据库备份
- 9 pyqt5 qscrollarea scroll area and qscrollbar scroll bar
- Basic number theory -- Chinese remainder theorem
- 你真的知道自己多大了吗?
- Capture de paquets et tri du contenu externe - - autoresponder, composer, statistiques [3]
- Set, weakset, map, weakmap in ES6
- TLS environment construction and plaintext analysis
- Measurement fitting based on Halcon learning -- Practice [1]
- Brief analysis of ref nerf
- Thread, thread stack, method stack, the difference of creating thread
猜你喜欢
Xai+ network security? Brandon University and others' latest "interpretable artificial intelligence in network security applications" overview, 33 page PDF describes its current situation, challenges,
Memory analyzer (MAT)
Scientific research document management Zotero
"Designer universe" argument: Data Optimization in the design field ultimately falls on cost, safety and health | chinabrand.com org
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
设计电商秒杀系统
Etcd raft Based Consistency assurance
如临现场的视觉感染力,NBA决赛直播还能这样看?
Measurement fitting based on Halcon learning -- Practice [1]
Custom view incomplete to be continued
随机推荐
Such as the visual appeal of the live broadcast of NBA Finals, can you still see it like this?
《ActBERT》百度&悉尼科技大学提出ActBERT,学习全局局部视频文本表示,在五个视频-文本任务中有效!...
Inventory 2021 | yunyuansheng embracing the road
Sort out several network request methods of JS -- get rid of callback hell
How to modify the network IP addresses of mobile phones and computers?
Basic number theory -- Chinese remainder theorem
Discussion Net legacy application transformation
From the behind the scenes arena of the ice and snow event, see how digital builders can ensure large-scale events
Go learning notes (4) basic types and statements (3)
Node MySQL serialize cannot rollback transactions
强化学习-学习笔记1 | 基础概念
Visiontransformer (I) -- embedded patched and word embedded
Hcie security Day11: preliminarily learn the concepts of firewall dual machine hot standby and vgmp
[Yugong series] February 2022 Net architecture class 004 ABP vNext used in WPF project
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
Kubernetes abnormal communication network fault solution ideas
Talk about daily newspaper design - how to write a daily newspaper and what is the use of a daily newspaper?
Pytorch sets the weight and bias of the model to zero
MySQL——规范数据库设计
CesiumJS 2022^ 源码解读[7] - 3DTiles 的请求、加载处理流程解析