一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL索引失效有哪些場(chǎng)景

Android編程精選 ? 來(lái)源:小哈學(xué)Java ? 作者:小哈學(xué)Java ? 2022-11-28 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基礎(chǔ)數(shù)據(jù)準(zhǔn)備

準(zhǔn)備一個(gè)數(shù)據(jù)表作為 數(shù)據(jù)演示 這里面一共 創(chuàng)建了三個(gè)索引

聯(lián)合索引 sname, s_code, address

主鍵索引 id

普通索引 height

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `s_code` int(100) NULL DEFAULT NULL,
  `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `height` double NULL DEFAULT NULL,
  `classid` int(11) NULL DEFAULT NULL,
  `create_time` datetime(0) NOT NULL ON UPDATE CURRENT_TIMESTAMP(0),
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `普通索引`(`height`) USING BTREE,
  INDEX `聯(lián)合索引`(`sname`, `s_code`, `address`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, '學(xué)生1', 1, '上海', 170, 1, '2022-11-02 2014');
INSERT INTO `student` VALUES (2, '學(xué)生2', 2, '北京', 180, 2, '2022-11-02 2016');
INSERT INTO `student` VALUES (3, '變成派大星', 3, '京東', 185, 3, '2022-11-02 2019');
INSERT INTO `student` VALUES (4, '學(xué)生4', 4, '聯(lián)通', 190, 4, '2022-11-02 2025');

上面的SQL,我們已經(jīng)創(chuàng)建好基本的數(shù)據(jù),在驗(yàn)證之前,先帶著幾個(gè)問(wèn)題

e2d8e1c2-6e47-11ed-8abf-dac502259ad0.png

我們先從上往下進(jìn)行驗(yàn)證

最左匹配原則

寫在前面:我很早之前就聽(tīng)說(shuō)過(guò)數(shù)據(jù)庫(kù)的最左匹配原則,當(dāng)時(shí)是通過(guò)各大博客論壇了解的,但是這些博客的局限性在于它們對(duì)最左匹配原則的描述就像一些數(shù)學(xué)定義一樣,往往都是列出123點(diǎn),滿足這123點(diǎn)就能匹配上索引,否則就不能。

最左匹配原則就是指在聯(lián)合索引中,如果你的 SQL 語(yǔ)句中用到了聯(lián)合索引中的最左邊的索引,那么這條 SQL 語(yǔ)句就可以利用這個(gè)聯(lián)合索引去進(jìn)行匹配,我們上面建立了聯(lián)合索引 可以用來(lái)測(cè)試最左匹配原則 sname, s_code, address

請(qǐng)看下面SQL語(yǔ)句 進(jìn)行思考 是否會(huì)走索引

-- 聯(lián)合索引 sname,s_code,address

1、select create_time from student where sname = "變成派大星"  -- 會(huì)走索引嗎?

2、select create_time from student where s_code = 1   -- 會(huì)走索引嗎?

3、select create_time from student where address = "上海"  -- 會(huì)走索引嗎?

4、select create_time from student where address = "上海" and s_code = 1 -- 會(huì)走索引嗎?

5、select create_time from student where address = "上海" and sname = "變成派大星"  -- 會(huì)走索引嗎?

6、select create_time from student where sname = "變成派大星" and address = "上海"  -- 會(huì)走索引嗎?

7、select create_time from student where sname = "變成派大星" and s_code = 1 and address = "上海"  -- 會(huì)走索引嗎?

憑你的經(jīng)驗(yàn) 哪些會(huì)使用到索引呢 ?可以先思考一下 在心中記下數(shù)字

e2fc0bd4-6e47-11ed-8abf-dac502259ad0.png

走索引例子

EXPLAINselectcreate_timefromstudentwheresname="變成派大星"--會(huì)走索引嗎?
e30b323a-6e47-11ed-8abf-dac502259ad0.png

未走索引例子

EXPLAIN select create_time from student where address = "上海" and s_code = 1 -- 會(huì)走索引嗎?

走的全表掃描 rows = 4

e322a456-6e47-11ed-8abf-dac502259ad0.png

如果你內(nèi)心的答案沒(méi)有全部說(shuō)對(duì)就接著往下看

最左匹配原則顧名思義:最左優(yōu)先,以最左邊的為起點(diǎn)任何連續(xù)的索引都能匹配上。同時(shí)遇到范圍查詢(>、<、between、like)就會(huì)停止匹配

例如:s_code = 2 如果建立(sname, s_code)順序的索引,是匹配不到(sname, s_code)索引的;

但是如果查詢條件是sname = "變成派大星" and s_code = 2或者a=1(又或者是s_code = 2 and sname = "變成派大星" )就可以,因?yàn)閮?yōu)化器會(huì)自動(dòng)調(diào)整****sname, s_code的順序

再比如sname = "變成派大星" and s_code > 1 and address = "上海" address是用不到索引的,因?yàn)閟_code字段是一個(gè)范圍查詢,它之后的字段會(huì)停止匹配。

不帶范圍查詢 索引使用類型

e336fba4-6e47-11ed-8abf-dac502259ad0.png

帶范圍使用類型

e34aef24-6e47-11ed-8abf-dac502259ad0.png

根據(jù)上一篇文章的講解 可以明白 ref 和range的含義 級(jí)別還是相差很多的

e3617370-6e47-11ed-8abf-dac502259ad0.png

思考

為什么左鏈接一定要遵循最左綴原則呢?

驗(yàn)證

看過(guò)一個(gè)比較好玩的回答:

你可以認(rèn)為聯(lián)合索引是闖關(guān)游戲的設(shè)計(jì)例如你這個(gè)聯(lián)合索引是state/city/zipCode那么state就是第一關(guān) city是第二關(guān), zipCode就是第三關(guān)你必須匹配了第一關(guān),才能匹配第二關(guān),匹配了第一關(guān)和第二關(guān),才能匹配第三關(guān)

這樣描述不算完全準(zhǔn)確 但是確實(shí)是這種思想

要想理解聯(lián)合索引的最左匹配原則,先來(lái)理解下索引的底層原理。索引的底層是一顆B+樹(shù),那么聯(lián)合索引的底層也就是一顆B+樹(shù),只不過(guò)聯(lián)合索引的B+樹(shù)節(jié)點(diǎn)中存儲(chǔ)的是鍵值。由于構(gòu)建一棵B+樹(shù)只能根據(jù)一個(gè)值來(lái)確定索引關(guān)系,所以數(shù)據(jù)庫(kù)依賴聯(lián)合索引最左的字段來(lái)構(gòu)建 文字比較抽象 我們看一下

加入我們建立 A,B 聯(lián)合索引 他們?cè)诘讓觾?chǔ)存是什么樣子呢?

  • 橙色代表字段 A
  • 淺綠色 代表字段B

圖解:

e386cb8e-6e47-11ed-8abf-dac502259ad0.png

我們可以看出幾個(gè)特點(diǎn)

  • A 是有順序的 1,1,2,2,3,4
  • B 是沒(méi)有順序的 1,2,1,4,1,2 這個(gè)是散列的
  • 如果A是等值的時(shí)候 B是有序的 例如 (1,1),(1,2) 這里的B有序的 (2,1),(2,4) B 也是有序的

這里應(yīng)該就能看出 如果沒(méi)有A的支持 B的索引是散列的 不是連續(xù)的

再細(xì)致一點(diǎn) 我們重新創(chuàng)建一個(gè)表

DROP TABLE IF EXISTS `leftaffix`;

CREATE TABLE `leftaffix`  (

  `a` int(11) NOT NULL AUTO_INCREMENT,

  `b` int(11) NULL DEFAULT NULL,

  `c` int(11) NULL DEFAULT NULL,

  `d` int(11) NULL DEFAULT NULL,

  `e` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

  PRIMARY KEY (`a`) USING BTREE,

  INDEX `聯(lián)合索引`(`b`, `c`, `d`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 
-- ----------------------------
-- Records of leftaffix
-- ----------------------------
INSERT INTO `leftaffix` VALUES (1, 1, 1, 1, '1');

INSERT INTO `leftaffix` VALUES (2, 2, 2, 2, '2');

INSERT INTO `leftaffix` VALUES (3, 3, 2, 2, '3');

INSERT INTO `leftaffix` VALUES (4, 3, 1, 1, '4');

INSERT INTO `leftaffix` VALUES (5, 2, 3, 5, '5');

INSERT INTO `leftaffix` VALUES (6, 6, 4, 4, '6');

INSERT INTO `leftaffix` VALUES (7, 8, 8, 8, '7');
SET FOREIGN_KEY_CHECKS = 1;

在創(chuàng)建索引樹(shù)的時(shí)候會(huì)對(duì)數(shù)據(jù)進(jìn)行排序 根據(jù)最左綴原則 會(huì)先通過(guò) B 進(jìn)行排序 也就是 如果出現(xiàn)值相同就 根據(jù) C 排序 如果 C相同就根據(jù)D 排序 排好順序之后就是如下圖:

e3a3840e-6e47-11ed-8abf-dac502259ad0.png

索引的生成就會(huì)根據(jù)圖二的順序進(jìn)行生成 我們看一下 生成后的樹(shù)狀數(shù)據(jù)是什么樣子

e3b8137e-6e47-11ed-8abf-dac502259ad0.png

解釋一些這個(gè)樹(shù)狀圖 首先根據(jù)圖二的排序 我們知道順序 是 1111a 2222b 所以 在第三層 我們可以看到 1111a 在第一層 2222b在第二層 因?yàn)?111 < 222 所以 111 進(jìn)入第二層 然后得出第一層

e3cfbff6-6e47-11ed-8abf-dac502259ad0.png

簡(jiǎn)化一下就是這個(gè)樣子

但是這種順序是相對(duì)的。這是因?yàn)镸ySQL創(chuàng)建聯(lián)合索引的規(guī)則是首先會(huì)對(duì)聯(lián)合索引的最左邊第一個(gè)字段排序,在第一個(gè)字段的排序基礎(chǔ)上,然后在對(duì)第二個(gè)字段進(jìn)行排序。所以B=2這種查詢條件沒(méi)有辦法利用索引。

看到這里還可以明白一個(gè)道理 為什么我們建立索引的時(shí)候不推薦建立在經(jīng)常改變的字段 因?yàn)檫@樣的話我們的索引結(jié)構(gòu)就要跟著你的改變而改動(dòng) 所以很消耗性能

補(bǔ)充

評(píng)論區(qū)老哥的提示 最左綴原則可以通過(guò)跳躍掃描的方式打破 簡(jiǎn)單整理一下這方面的知識(shí)

這個(gè)是在 8.0 進(jìn)行的優(yōu)化

MySQL8.0版本開(kāi)始增加了索引跳躍掃描的功能,當(dāng)?shù)谝涣兴饕奈ㄒ恢递^少時(shí),即使where條件沒(méi)有第一列索引,查詢的時(shí)候也可以用到聯(lián)合索引。

比如我們使用的聯(lián)合索引是 bcd 但是b中字段比較少 我們?cè)谑褂寐?lián)合索引的時(shí)候沒(méi)有 使用 b 但是依然可以使用聯(lián)合索引MySQL聯(lián)合索引有時(shí)候遵循最左前綴匹配原則,有時(shí)候不遵循。

小總結(jié)

前提 如果創(chuàng)建 b,c,d 聯(lián)合索引面

  • 如果 我where 后面的條件是c = 1 and d = 1為什么不能走索引呢 如果沒(méi)有b的話 你查詢的值相當(dāng)于 *11 我們都知道*是所有的意思也就是我能匹配到所有的數(shù)據(jù)
  • 如果 我 where 后面是 b = 1 and d =1 為什么會(huì)走索引呢?你等于查詢的數(shù)據(jù)是 1*1 我可以通過(guò)前面 1 進(jìn)行索引匹配 所以就可以走索引
  • 最左綴匹配原則的最重要的就是 第一個(gè)字段

我們接著看下一個(gè)失效場(chǎng)景

select *

思考

這里是我之前的一個(gè)思維誤區(qū) select * 不會(huì)導(dǎo)致索引失效 之前測(cè)試發(fā)現(xiàn)失效是因?yàn)閣here 后面的查詢范圍過(guò)大 導(dǎo)致索引失效 并不是Select * 引起的 但是為什么不推薦使用select *

解釋

  • 增加查詢分析器解析成本。
  • 增減字段容易與 resultMap 配置不一致。
  • 無(wú)用字段增加網(wǎng)絡(luò) 消耗,尤其是 text 類型的字段。

在阿里的開(kāi)發(fā)手冊(cè)中,大面的概括了上面幾點(diǎn)。

在使用Select * 索引使用正常

e3ef9ad8-6e47-11ed-8abf-dac502259ad0.png

雖然走了索引但是 也不推薦這種寫法 為什么呢?

首先我們?cè)谏弦粋€(gè)驗(yàn)證中創(chuàng)建了聯(lián)合索引 我們使用B=1 會(huì)走索引 但是 與直接查詢索引字段不同 使用SELECT*,獲取了不需要的數(shù)據(jù),則首先通過(guò)輔助索引過(guò)濾數(shù)據(jù),然后再通過(guò)聚集索引獲取所有的列,這就多了一次b+樹(shù)查詢,速度必然會(huì)慢很多,減少使用select * 就是降低回表帶來(lái)的損耗。

e407084e-6e47-11ed-8abf-dac502259ad0.pnge420676c-6e47-11ed-8abf-dac502259ad0.png

也就是 Select * 在一些情況下是會(huì)走索引的 如果不走索引就是 where 查詢范圍過(guò)大 導(dǎo)致MySQL 最優(yōu)選擇全表掃描了 并不是Select * 的問(wèn)題

e43c2024-6e47-11ed-8abf-dac502259ad0.png上圖就是索引失效的情況

范圍查找也不是一定會(huì)索引失效 下面情況就會(huì)索引生效就是 級(jí)別低 生效的原因是因?yàn)榭s小了范圍

e44e5abe-6e47-11ed-8abf-dac502259ad0.png

小總結(jié)

  • select * 會(huì)走索引
  • 范圍查找有概率索引失效但是在特定的情況下會(huì)生效 范圍小就會(huì)使用 也可以理解為 返回結(jié)果集小就會(huì)使用索引
  • mysql中連接查詢的原理是先對(duì)驅(qū)動(dòng)表進(jìn)行查詢操作,然后再用從驅(qū)動(dòng)表得到的數(shù)據(jù)作為條件,逐條的到被驅(qū)動(dòng)表進(jìn)行查詢。
  • 每次驅(qū)動(dòng)表加載一條數(shù)據(jù)到內(nèi)存中,然后被驅(qū)動(dòng)表所有的數(shù)據(jù)都需要往內(nèi)存中加載一遍進(jìn)行比較。效率很低,所以mysql中可以指定一個(gè)緩沖池的大小,緩沖池大的話可以同時(shí)加載多條驅(qū)動(dòng)表的數(shù)據(jù)進(jìn)行比較,放的數(shù)據(jù)條數(shù)越多性能io操作就越少,性能也就越好。所以,如果此時(shí)使用select * 放一些無(wú)用的列,只會(huì)白白的占用緩沖空間。浪費(fèi)本可以提高性能的機(jī)會(huì)。
  • 按照評(píng)論區(qū)老哥的說(shuō)法 select * 不是造成索引失效的直接原因 大部分原因是 where 后邊條件的問(wèn)題 但是還是盡量少去使用select * 多少還是會(huì)有影響的

使用函數(shù)

使用在Select 后面使用函數(shù)可以使用索引 但是下面這種做法就不能

e45eb7ec-6e47-11ed-8abf-dac502259ad0.pnge4739fa4-6e47-11ed-8abf-dac502259ad0.png

因?yàn)樗饕4娴氖撬饕侄蔚脑贾担皇墙?jīng)過(guò)函數(shù)計(jì)算后的值,自然就沒(méi)辦法走索引了。

不過(guò),從 MySQL 8.0 開(kāi)始,索引特性增加了函數(shù)索引,即可以針對(duì)函數(shù)計(jì)算后的值建立一個(gè)索引,也就是說(shuō)該索引的值是函數(shù)計(jì)算后的值,所以就可以通過(guò)掃描索引來(lái)查詢數(shù)據(jù)。

這種寫法我沒(méi)使用過(guò) 感覺(jué)情況比較少 也比較容易注意到這種寫法

計(jì)算操作

這個(gè)情況和上面一樣 之所以會(huì)導(dǎo)致索引失效是因?yàn)楦淖兞怂饕瓉?lái)的值 在樹(shù)中找不到對(duì)應(yīng)的數(shù)據(jù)只能全表掃描

e488ab9c-6e47-11ed-8abf-dac502259ad0.png

因?yàn)樗饕4娴氖撬饕侄蔚脑贾?,而不?b - 1 表達(dá)式計(jì)算后的值,所以無(wú)法走索引,只能通過(guò)把索引字段的取值都取出來(lái),然后依次進(jìn)行表達(dá)式的計(jì)算來(lái)進(jìn)行條件判斷,因此采用的就是全表掃描的方式。

下面這種計(jì)算方式就會(huì)使用索引

e49b5f94-6e47-11ed-8abf-dac502259ad0.png

Java比較熟悉的可能會(huì)有點(diǎn)疑問(wèn),這種對(duì)索引進(jìn)行簡(jiǎn)單的表達(dá)式計(jì)算,在代碼特殊處理下,應(yīng)該是可以做到索引掃描的,比方將 b - 1 = 6 變成 b = 6 - 1。是的,是能夠?qū)崿F(xiàn),但是 MySQL 還是偷了這個(gè)懶,沒(méi)有實(shí)現(xiàn)。

小總結(jié)

總而言之 言而總之 只要是影響到索引列的值 索引就是失效

Like %

1.這個(gè)真的是難受哦 因?yàn)榻?jīng)常使用這個(gè) 所以還是要小心點(diǎn) 在看為什么失效之前 我們先看一下 Like % 的解釋

  • %百分號(hào)通配符: 表示任何字符出現(xiàn)任意次數(shù)(可以是0次).
  • _下劃線通配符: 表示只能匹配單個(gè)字符,不能多也不能少,就是一個(gè)字符.
  • like操作符: LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配進(jìn)行比較.

注意: 如果在使用like操作符時(shí),后面的沒(méi)有使用通用匹配符效果是和=一致的,

SELECT * FROM products WHERE products.prod_name like '1000';

2.匹配包含"Li"的記錄(包括記錄"Li") :

SELECT* FROM products WHERE products.prod_name like '%Li%';

3.匹配以"Li"結(jié)尾的記錄(包括記錄"Li",不包括記錄"Li ",也就是Li后面有空格的記錄,這里需要注意)

SELECT * FROM products WHERE products.prod_name like '%Li';

在左不走 在右走

右:雖然走 但是索引級(jí)別比較低主要是模糊查詢 范圍比較大 所以索引級(jí)別就比較低e4ab332e-6e47-11ed-8abf-dac502259ad0.png

左:這個(gè)范圍非常大 所以沒(méi)有使用索引的必要了 這個(gè)可能不是很好優(yōu)化 還好不是一直拼接上面的

e4c5e642-6e47-11ed-8abf-dac502259ad0.png

小總結(jié)

索引的時(shí)候和查詢范圍關(guān)系也很大 范圍過(guò)大造成索引沒(méi)有意義從而失效的情況也不少

使用Or導(dǎo)致索引失效

這個(gè)原因就更簡(jiǎn)單了

在 WHERE 子句中,如果在 OR 前的條件列是索引列,而在 OR 后的條件列不是索引列,那么索引會(huì)失效 舉個(gè)例子,比如下面的查詢語(yǔ)句,b 是主鍵,e 是普通列,從執(zhí)行計(jì)劃的結(jié)果看,是走了全表掃描。

e4db0464-6e47-11ed-8abf-dac502259ad0.png

優(yōu)化

這個(gè)的優(yōu)化方式就是 在Or的時(shí)候兩邊都加上索引

就會(huì)使用索引 避免全表掃描

e4f45162-6e47-11ed-8abf-dac502259ad0.png

in使用不當(dāng)

首先使用In 不是一定會(huì)造成全表掃描的 IN肯定會(huì)走索引,但是當(dāng)IN的取值范圍較大時(shí)會(huì)導(dǎo)致索引失效,走全表掃描

e50ca104-6e47-11ed-8abf-dac502259ad0.pnge5224de2-6e47-11ed-8abf-dac502259ad0.png

in 在結(jié)果集 大于30%的時(shí)候索引失效

not in 和 In的失效場(chǎng)景相同

order By

e543b72a-6e47-11ed-8abf-dac502259ad0.png

這一個(gè)主要是Mysql 自身優(yōu)化的問(wèn)題 我們都知道OrderBy 是排序 那就代表我需要對(duì)數(shù)據(jù)進(jìn)行排序 如果我走索引 索引是排好序的 但是我需要回表 消耗時(shí)間 另一種 我直接全表掃描排序 不用回表 也就是

  • 走索引 + 回表
  • 不走索引 直接全表掃描

Mysql 認(rèn)為直接全表掃面的速度比 回表的速度快所以就直接走索引了 在Order By 的情況下 走全表掃描反而是更好的選擇

子查詢會(huì)走索引嗎

答案是會(huì) 但是使用不好就不會(huì)

大總結(jié)

e5562bd0-6e47-11ed-8abf-dac502259ad0.png

審核編輯:郭婷


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91922
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    783

    瀏覽量

    45173

原文標(biāo)題:面試官:你說(shuō)說(shuō) MySQL 索引失效有哪些場(chǎng)景?

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    淺談封裝材料失效分析

    在電子封裝領(lǐng)域,各類材料因特性與應(yīng)用場(chǎng)景不同,失效模式和分析檢測(cè)方法也各有差異。
    的頭像 發(fā)表于 07-09 09:40 ?481次閱讀

    MySQL數(shù)據(jù)庫(kù)采集網(wǎng)關(guān)是什么?什么功能?

    MySQL數(shù)據(jù)庫(kù)采集網(wǎng)關(guān)是一種用于連接、采集、處理并傳輸數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)的中間設(shè)備或軟件系統(tǒng),通常部署在數(shù)據(jù)源與MySQL數(shù)據(jù)庫(kù)之間,作為數(shù)據(jù)交互的橋梁。它在工業(yè)物聯(lián)網(wǎng)、智能樓宇、能源管理等
    的頭像 發(fā)表于 05-26 15:20 ?194次閱讀

    MySQL數(shù)據(jù)庫(kù)是什么

    MySQL數(shù)據(jù)庫(kù)是一種 開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開(kāi)發(fā),后被Oracle公司收購(gòu)。它通過(guò)結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)存儲(chǔ)、管理和操作,廣泛應(yīng)用于Web
    的頭像 發(fā)表于 05-23 09:18 ?456次閱讀

    元器件失效分析哪些方法?

    失效分析的定義與目標(biāo)失效分析是對(duì)失效電子元器件進(jìn)行診斷的過(guò)程。其核心目標(biāo)是確定失效模式和失效機(jī)理。失效
    的頭像 發(fā)表于 05-08 14:30 ?352次閱讀
    元器件<b class='flag-5'>失效</b>分析<b class='flag-5'>有</b>哪些方法?

    芯片失效分析的方法和流程

    、物理分析、材料表征等多種手段,逐步縮小問(wèn)題范圍,最終定位失效根源。以下是典型分析流程及關(guān)鍵方法詳解: ? ? ? 前期信息收集與失效現(xiàn)象確認(rèn) 1.?失效背景調(diào)查 收集芯片型號(hào)、應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 02-19 09:44 ?1219次閱讀

    使用插件將Excel連接到MySQL/MariaDB

    使用插件將 Excel 連接到 MySQL/MariaDB 適用于 MySQL 的 Devart Excel 插件允許您將 Microsoft Excel 連接到 MySQL 或 MariaDB
    的頭像 發(fā)表于 01-20 12:38 ?630次閱讀
    使用插件將Excel連接到<b class='flag-5'>MySQL</b>/MariaDB

    MySQL數(shù)據(jù)庫(kù)的安裝

    MySQL數(shù)據(jù)庫(kù)的安裝 【一】各種數(shù)據(jù)庫(kù)的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發(fā)表于 01-14 11:25 ?566次閱讀
    <b class='flag-5'>MySQL</b>數(shù)據(jù)庫(kù)的安裝

    創(chuàng)建唯一索引的SQL命令和技巧

    在創(chuàng)建唯一索引時(shí),以下是一些SQL命令和技巧,可以幫助優(yōu)化性能: 使用合適的索引類型:對(duì)于需要保證唯一性的列,使用UNIQUE索引來(lái)避免重復(fù)數(shù)據(jù)的插入。 這可以確保列中的值是唯一的,同時(shí)提高查詢效率
    的頭像 發(fā)表于 01-09 15:21 ?518次閱讀

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發(fā)表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態(tài)扛旗者,Percona 開(kāi)發(fā)了知名
    的頭像 發(fā)表于 11-18 10:16 ?568次閱讀
    <b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎

    詳解MySQL多實(shí)例部署

    詳解MySQL多實(shí)例部署
    的頭像 發(fā)表于 11-11 11:10 ?645次閱讀

    MySQL編碼機(jī)制原理

    前言 一位讀者在本地部署 MySQL 測(cè)試環(huán)境時(shí)碰到一個(gè)問(wèn)題,我覺(jué)得挺有代表性的,所以寫篇文章介紹一下,看完相信你會(huì)對(duì) MySQL 的編碼機(jī)制最本質(zhì)的了解,本文的目錄結(jié)構(gòu)如下 讀者問(wèn)題簡(jiǎn)介
    的頭像 發(fā)表于 11-09 11:01 ?586次閱讀

    谷景科普色環(huán)電感失效的現(xiàn)象哪些

    谷景詳解色環(huán)電感失效的現(xiàn)象哪些編輯:谷景電子色環(huán)電感作為電子電路中非常重要的一種電子元器件,它在電路中的功能主要就時(shí)濾波、儲(chǔ)能以及抑制噪聲。但是,色環(huán)電感在電路中也可能會(huì)出現(xiàn)失效的情況,這些
    發(fā)表于 09-16 23:14 ?0次下載

    MATLAB中的矩陣索引

    對(duì)矩陣進(jìn)行索引是從矩陣中選擇或修改部分元素的一種方式。MATLAB 幾種索引樣式,它們不僅功能強(qiáng)大、靈活,而且可讀性強(qiáng)、表現(xiàn)力強(qiáng)。矩陣是 MATLAB 用來(lái)組織和分析數(shù)據(jù)的一個(gè)核心組件,索引
    的頭像 發(fā)表于 09-05 09:28 ?1089次閱讀
    MATLAB中的矩陣<b class='flag-5'>索引</b>

    MySQL知識(shí)點(diǎn)匯總

    大家好,這部分被稱為DQL部分,是每個(gè)學(xué)習(xí)MySQL必須要學(xué)會(huì)的部分,下面就讓我來(lái)介紹MySQL中的其他部分。
    的頭像 發(fā)表于 08-05 15:27 ?660次閱讀
    <b class='flag-5'>MySQL</b>知識(shí)點(diǎn)匯總

    一文了解MySQL索引機(jī)制

    接觸MySQL數(shù)據(jù)庫(kù)的小伙伴一定避不開(kāi)索引索引的出現(xiàn)是為了提高數(shù)據(jù)查詢的效率,就像書(shū)的目錄一樣。 某一個(gè)SQL查詢比較慢,你第一時(shí)間想到的就是“給某個(gè)字段加個(gè)索引吧”,那么
    的頭像 發(fā)表于 07-25 14:05 ?573次閱讀
    一文了解<b class='flag-5'>MySQL</b><b class='flag-5'>索引</b>機(jī)制