自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

老鐵,索引別想亂用

運(yùn)維 數(shù)據(jù)庫運(yùn)維
在web開發(fā)中,使用記錄id獲得詳情信息是一個(gè)比較頻繁的操作,所有必須具有很高的查詢速度,這時(shí),很多小伙伴就會(huì)想到使用索引,在id字段上添加索引。且慢!!! 接下來讓阿都告訴你,為什么攔著你了。

[[380660]]

 本文轉(zhuǎn)載自微信公眾號(hào)「菜鳥阿都」,作者菜鳥阿都。轉(zhuǎn)載本文請(qǐng)聯(lián)系菜鳥阿都公眾號(hào)。   

在web開發(fā)中,使用記錄id獲得詳情信息是一個(gè)比較頻繁的操作,所有必須具有很高的查詢速度,這時(shí),很多小伙伴就會(huì)想到使用索引,在id字段上添加索引。且慢!!! 接下來讓阿都告訴你,為什么攔著你了。

在阿里java開發(fā)手冊(cè)(嵩山版)明確規(guī)定數(shù)據(jù)庫表必備主鍵id,當(dāng)然接下來的操作也必須按照大廠的規(guī)范來,畢竟阿都也有一個(gè)大廠的心。關(guān)注公眾號(hào),并回復(fù):開發(fā)手冊(cè),可獲得阿里java開發(fā)手冊(cè)(嵩山版)。

 

空洞的言語總是沒有實(shí)際操作具有說服力,開始操作嘍。

開始表演

阿都先創(chuàng)建一個(gè)具有主鍵id的測(cè)試表【user:具有主鍵id】

  1. CREATE TABLE `user`  ( 
  2.   `id` int NOT NULL
  3.   `namevarchar(255) NULL
  4.   PRIMARY KEY (`id`) 
  5. ); 

一不小心運(yùn)行了查詢索引的命令

  1. show index FROM user 

 

結(jié)果圖片列字段說明

  • Table:表名稱
  • Non_unique:如果索引不能包括重復(fù)詞,則為0,反則為1
  • Key_name:索引的名稱
  • Seq_in_index:索引的列序列號(hào),從1開始
  • Column_name:列名稱

尷尬了,竟然還運(yùn)行出了結(jié)果,不知道什么時(shí)候這張新建的user表中已經(jīng)為字段id創(chuàng)建了索引,原來,數(shù)據(jù)庫會(huì)默認(rèn)為主鍵字段創(chuàng)建索引【主鍵索引】,現(xiàn)在知道為什么阿都剛才攔著那些想給id創(chuàng)建索引的小伙伴了吧

為了湊字?jǐn)?shù),順便研究一下,如果表中具有多個(gè)主鍵,數(shù)據(jù)庫會(huì)不會(huì)為每個(gè)主鍵都創(chuàng)建索引,老套路,先建它一張表【user:兩個(gè)主鍵id,name】

  1. CREATE TABLE `user`  ( 
  2.   `id` int NOT NULL
  3.   `namevarchar(255) NOT NULL
  4.   PRIMARY KEY (`id`, `name`) 
  5. ); 

運(yùn)行命令查看索引

  1. show index FROM user 

 

數(shù)據(jù)庫為id和name都創(chuàng)建了索引

現(xiàn)在終于有點(diǎn)明白阿里規(guī)范中為什么要求創(chuàng)建主鍵id了,老鐵,別走,順便體驗(yàn)一波id帶了索引的效果

創(chuàng)建具有主鍵id的user表

  1. CREATE TABLE `user`  ( 
  2.   `id` int NOT NULL
  3.   `namevarchar(255) NULL
  4.   PRIMARY KEY (`id`) 
  5. ); 

創(chuàng)建儲(chǔ)存過程生成100萬條假數(shù)據(jù)

  1. CREATE  PROCEDURE `add_vote_memory1`(IN n int)   
  2. BEGIN     
  3.   DECLARE i INT DEFAULT 1;   
  4.     WHILE (i <= n ) DO   
  5.       INSERT into user  (nameVALUEs (FLOOR(RAND() * 1000)) 
  6.             set i=i+1;   
  7.     END WHILE;   
  8. END   
  9. call add_vote_memory1(1000000)insert into user select id,concat('菜鳥阿都',id)) from tmp_series 

調(diào)用儲(chǔ)存過程

  1. call add_vote_memory(1000000) 

生成了100萬條假數(shù)據(jù),在本地?cái)?shù)據(jù)庫執(zhí)行這個(gè)儲(chǔ)存過程足足花費(fèi)了10分鐘

  1. select * from user where id=27 

查詢時(shí)間:0.021s

  1. select * from user where name='adu' 

查詢時(shí)間:0.890s

根據(jù)主鍵id查詢與其他字段查詢相比快了45倍,所以小伙伴們,以后設(shè)計(jì)數(shù)據(jù)庫表時(shí),記得加主鍵id。一定要記得。

責(zé)任編輯:武曉燕 來源: 菜鳥阿都
相關(guān)推薦

2010-09-27 11:55:47

SQL索引

2021-07-06 21:37:05

索引SQL數(shù)據(jù)

2021-10-22 13:38:14

程序員技能開發(fā)者

2009-01-04 15:38:07

索引SQL Server數(shù)據(jù)庫

2020-11-17 09:16:28

SD-WAN軟件定義網(wǎng)絡(luò)SDN

2020-02-06 15:20:21

編程語言PythonJava

2021-04-26 18:38:58

緩存數(shù)據(jù)DB

2020-12-25 06:24:42

微信直播移動(dòng)應(yīng)用

2022-12-16 17:09:57

2023-07-05 13:34:57

ChatGPTOpenAI生產(chǎn)者

2020-04-03 08:30:44

RabbitMQKafka軟件

2019-12-06 11:22:00

中國電信

2017-07-10 15:30:02

信息化高鐵互聯(lián)網(wǎng)+

2020-08-10 14:39:30

搜索引擎

2024-07-08 13:08:04

2017-11-10 10:18:42

程序員

2021-02-04 12:39:38

5G運(yùn)營商網(wǎng)絡(luò)

2022-01-07 13:36:00

MySQL數(shù)據(jù)庫分頁

2019-09-11 08:12:04

生物識(shí)別密碼加密

2015-08-27 13:21:15

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)