当前位置:网站首页>MySQL——索引
MySQL——索引
2022-07-03 21:02:00 【Java學不會】
文章目錄
1、簡介
MySQL官方對索引的定義為:索引(Index)是幫助MySQL高效獲取數據的數據結構。
索引在小數據量的時候,用處不大,但是在大數據的時候,區別十分明顯。
2、索引的分類
2.1、主鍵索引(PRIMARy KEY)
- 唯一的標識,主鍵不可重複,一個錶只能有一個主鍵。
2.2、唯一索引(UNIQUE KEY)
- 避免重複的數據出現,唯一索引可以重複,一個錶中可以有多個唯一索引
2.3、常規索引(KEY/INDEX)
- 默認的,index,key關鍵字來設置
2.4、全文索引(FullText)
- 在特定的數據庫引擎下才有,MySAM
- 快速定比特數據
3、測試索引
3.1、創建100萬條數據
CREATE TABLE `app_user` (
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) DEFAULT'' COMMENT'用戶昵稱',
`email` VARCHAR(50) NOT NULL COMMENT'用戶郵箱',
`phone` VARCHAR(20) DEFAULT'' COMMENT'手機號',
`gender` TINYINT(4) UNSIGNED DEFAULT '0'COMMENT '性別(0:男;1:女)',
`password` VARCHAR(100) NOT NULL COMMENT '密碼',
`age` TINYINT(4) DEFAULT'0' COMMENT '年齡',
`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用戶錶'
-- 插入100玩數據
DELIMITER $$ -- 寫函數之前必須要寫,標志
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('用戶',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()
- 查詢第999999條數據:SELECT * FROM app_user WHERE
name=‘用戶999999’;
3.2、添加索引
-- id_錶名_字段名
CREATE INDEX id_app_user_name ON app_user(`name`)
- 查詢第999999條數據:SELECT * FROM app_user WHERE
name=‘用戶999999’;
4、索引原則
- 索引不是越多越好
- 不要對經常變動數據加索引
- 小數據量的錶不需要加索引
- 索引一般加在常用來查詢的字段上
边栏推荐
- Service discovery and load balancing mechanism -service
- Get log4net log file in C - get log4net log file in C
- Wireless network (preprocessing + concurrent search)
- 浅议.NET遗留应用改造
- Producer consumer mode (multithreading, use of shared resources)
- 你真的知道自己多大了吗?
- 18、 MySQL -- index
- [Tang Laoshi] C -- encapsulation: member variables and access modifiers
- "Designer universe" APEC safety and health +: environmental protection Panda "xiaobaobao" Happy Valentine's Day 2022 | ChinaBrand | Asia Pacific Economic media
- Hcie security Day12: supplement the concept of packet filtering and security policy
猜你喜欢

Research Report on the overall scale, major manufacturers, major regions, products and application segmentation of rotary tablet presses in the global market in 2022

Q&A:Transformer, Bert, ELMO, GPT, VIT

Such as the visual appeal of the live broadcast of NBA Finals, can you still see it like this?

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

The "boss management manual" that is wildly spread all over the network (turn)

Visiontransformer (I) -- embedded patched and word embedded

Hcie security Day10: six experiments to understand VRRP and reliability

2022 high voltage electrician examination and high voltage electrician reexamination examination

Qt6 QML Book/Qt Quick 3D/基础知识

Custom view incomplete to be continued
随机推荐
抓包整理外篇——————autoResponder、composer 、statistics [ 三]
19、 MySQL -- SQL statements and queries
Install and use Chrony, and then build your own time server
Such as the visual appeal of the live broadcast of NBA Finals, can you still see it like this?
Nmap and masscan have their own advantages and disadvantages. The basic commands are often mixed to increase output
thrift go
Golang type assertion and conversion (and strconv package)
@Scenario of transactional annotation invalidation
Borui data and Sina Finance released the 2021 credit card industry development report
[Tang Laoshi] C -- encapsulation: member variables and access modifiers
Mysql database ----- common commands of database (based on database)
The global industrial design revenue in 2021 was about $44360 million, and it is expected to reach $62720 million in 2028. From 2022 to 2028, the CAGR was 5.5%
Software testing skills, JMeter stress testing tutorial, obtaining post request data in x-www-form-urlencoded format (24)
【愚公系列】2022年7月 Go教学课程 002-Go语言环境安装
MySQL——SQL注入问题
Discussion Net legacy application transformation
Transformation between yaml, Jason and Dict
In 2021, the global revenue of syphilis rapid detection kits was about US $608.1 million, and it is expected to reach US $712.9 million in 2028
Line segment tree blue book explanation + classic example acwing 1275 Maximum number
Pengcheng cup Web_ WP