婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺析MySQL 主鍵使用數字還是uuid查詢快

淺析MySQL 主鍵使用數字還是uuid查詢快

熱門標簽:云南電商智能外呼系統價格 高清地圖標注道路 智能外呼系統復位 外東北地圖標注 拉卡拉外呼系統 400電話可以辦理嗎 大眾點評星級酒店地圖標注 話務外呼系統怎么樣 臨清電話機器人

在實際開發中mysql的主鍵不能重復,可能會采用主鍵自增,為了防止主鍵重復也可能會采取雪花算法之類的算法保證,這兩種主鍵保存的都是number類型 但是實際開發中可能會生成uuid作為主鍵那么疑問來了,到底哪種主鍵的效率高呢?

下面由測試來驗證:

1.首先我們先創建一個表,用存儲過程生成100w條數據然后分析:

創建表:

CREATE TABLE `my_tables` (
`id` VARCHAR(32) NOT NULL ,
`name` varchar(32) DEFAULT NULL,
`age` int(32) DEFAULT NULL,
`time` varchar(32) DEFAULT NULL,
`pwd` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

創建存儲過程:

DROP PROCEDURE IF EXISTS my_insert;
CREATE PROCEDURE my_insert()
BEGIN
DECLARE n int DEFAULT 1;
loopname:LOOP
INSERT INTO `my_tables`(`name`,`age`,`time`,`pwd`) VALUES ('張三', 18, '0:0:0:0:0:0:0:1', '369');
SET n=n+1;
IF n=1000000 THEN
LEAVE loopname;
END IF;
END LOOP loopname;
END;

生成數據:

CALL my_insert();

第一種方式采用的主鍵是number類型的

下圖是采用explain分析得出

2.接下來繼續創建另一張表并生成數據

CREATE TABLE `my_tables2` (
`id` VARCHAR(32) NOT NULL ,
`name` varchar(32) DEFAULT NULL,
`age` int(32) DEFAULT NULL,
`time` varchar(32) DEFAULT NULL,
`pwd` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

注意:這張表的主鍵采用的是varchar類型的

創建存儲過程并生成數據:

DROP PROCEDURE IF EXISTS proc_insert;
DELIMITER $
CREATE PROCEDURE pro_insert2()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i=1000000 DO
INSERT INTO `my_tables2`(id,`name`,`age`,`time`,`pwd`) VALUES (i,'張三', 18, '0:0:0:0:0:0:0:1', '369');
SET i = i+1;
END WHILE;
END $;

CALL pro_insert2();

下圖是第二種用主鍵查詢的結果

如果有小伙伴對explain不太明白的可以去看看博客 https://blog.csdn.net/why15732625998/article/details/80388236

前后分析得出 使用uuid或者數字作為主鍵它的查詢效率相差的并沒有想象中的大,幾乎可以忽略不記 只有key_len有些差別。

key_len:表示索引中使用的字節數,可通過該列計算查詢中使用的索引的長度,在不損失精確性的情況下,長度越短越好。key_len顯示的值為索引字段的最大可能長度,并非實際使用長度,即key_len是根據表定義計算而得,不是通過表內檢索出的。

到此這篇關于淺析MySQL 主鍵使用數字還是uuid查詢快的文章就介紹到這了,更多相關mysql主鍵用數字還是uuid內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 方便快捷實現springboot 后端配置多個數據源、Mysql數據庫
  • MySQL DEFINER具體使用詳解
  • MySQL隔離級別和鎖機制的深入講解
  • django生產環境搭建(uWSGI+django+nginx+python+MySQL)
  • MySQL之權限以及設計數據庫案例講解
  • MySQL為何不建議使用默認值為null列
  • Node-Red實現MySQL數據庫連接的方法
  • mysql之group by和having用法詳解

標簽:無錫 三明 溫州 定西 阿里 揚州 福州 山西

巨人網絡通訊聲明:本文標題《淺析MySQL 主鍵使用數字還是uuid查詢快》,本文關鍵詞  淺析,MySQL,主鍵,使用,數字,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺析MySQL 主鍵使用數字還是uuid查詢快》相關的同類信息!
  • 本頁收集關于淺析MySQL 主鍵使用數字還是uuid查詢快的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 平山县| 肥东县| 湾仔区| 巴楚县| 鄂托克前旗| 贡山| 东台市| 汉阴县| 广德县| 剑川县| 乐业县| 朝阳区| 丁青县| 麦盖提县| 鄂温| 民勤县| 九台市| 绩溪县| 盐边县| 海安县| 江西省| 思茅市| 务川| 图木舒克市| 沾化县| 始兴县| 北安市| 临颍县| 德阳市| 来安县| 凌源市| 奉贤区| 泉州市| 伊吾县| 连江县| 沛县| 额尔古纳市| 黄梅县| 交城县| 罗甸县| 河池市|