濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MySQL查詢條件中in會(huì)用到索引嗎

MySQL查詢條件中in會(huì)用到索引嗎

熱門(mén)標(biāo)簽:400電話可以免費(fèi)申請(qǐng)嗎 電銷(xiāo)卡外呼系統(tǒng)供應(yīng)商 怎么在地圖標(biāo)注位置生成圖片 騰訊地圖標(biāo)注提升 福建外呼系統(tǒng)定制化 美國(guó)反騷擾電話機(jī)器人 銅陵防封電銷(xiāo)卡 真人語(yǔ)音電話機(jī)器人 悟空科技電話機(jī)器人

當(dāng)用人問(wèn)你MySQL 查詢條件中 in 會(huì)不會(huì)用到索引,你該怎么回答?

答案:可能會(huì)用到索引

動(dòng)手來(lái)測(cè)試下

1.創(chuàng)建一張表,給字段port建立索引

CREATE TABLE `pre_request_logs_20180524` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `ip` char(16) NOT NULL COMMENT '代理IP',
 `port` int(8) NOT NULL COMMENT '端口號(hào)',
 `status` enum('成功','失敗') NOT NULL COMMENT '狀態(tài)',
 `create_time` datetime NOT NULL COMMENT '創(chuàng)建時(shí)間',
 `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`),
 KEY `idx_port` (`port`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='代理IP請(qǐng)求日志';

插入測(cè)試數(shù)據(jù)

INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (1, '192.168.1.199', 53149, '失敗', '2018-05-24 14:55:34', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (2, '192.168.1.100', 10653, '成功', '2018-05-24 14:55:54', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (3, '192.168.1.112', 50359, '失敗', '2018-05-24 14:56:00', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (4, '192.168.1.67', 30426, '失敗', '2018-05-24 14:56:09', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (5, '192.168.1.209', 49323, '失敗', '2018-05-24 14:56:12', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (6, '192.168.1.209', 51161, '成功', '2018-05-24 14:56:13', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (7, '192.168.1.12', 54167, '成功', '2018-05-24 14:56:16', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (8, '192.168.1.64', 20462, '成功', '2018-05-24 14:56:19', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (9, '192.168.1.53', 22823, '失敗', '2018-05-24 14:56:31', '2018-11-16 10:58:13');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (10, '192.168.1.85', 48229, '成功', '2018-05-24 14:56:32', '2018-11-16 11:01:11');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (11, '192.168.1.85', 48229, '成功', '2018-05-24 14:56:32', '2018-11-16 11:01:15');
INSERT INTO ``(`id`, `ip`, `port`, `status`, `create_time`, `update_time`) VALUES (12, '192.168.1.85', 48229, '成功', '2018-05-24 14:56:32', '2018-11-16 13:34:37');

2.測(cè)試sql

explain select * from pre_request_logs_20180524 where port in (51161,20462,48229);

執(zhí)行結(jié)果

從結(jié)果來(lái)看是沒(méi)有用到索引,但不要著急下結(jié)論,再看二個(gè)sql

select * from pre_request_logs_20180524 where port in (51161,48229);
select * from pre_request_logs_20180524 where port in (51161,20462);

執(zhí)行結(jié)果分別如下

可以看到第二條sql是用到了索引,二條sql的區(qū)別在于port值不一樣,一個(gè)包含48229,一個(gè)包含20462

其實(shí)MySQL優(yōu)化器會(huì)自動(dòng)判斷in是否走二級(jí)索引,也就是port字段的索引

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • mysql查詢條件not in 和 in的區(qū)別及原因說(shuō)明
  • MySQL全面瓦解之查詢的過(guò)濾條件詳解
  • mysql條件查詢and or使用方法及優(yōu)先級(jí)實(shí)例分析
  • 詳解Mysql查詢條件中字符串尾部有空格也能匹配上的問(wèn)題
  • MySQL查詢條件常見(jiàn)用法詳解
  • mysql 帶多個(gè)條件的查詢方式

標(biāo)簽:臨汾 武威 白銀 湖北 云浮 烏海 聊城 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL查詢條件中in會(huì)用到索引嗎》,本文關(guān)鍵詞  MySQL,查詢,條件,中,會(huì),用到,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL查詢條件中in會(huì)用到索引嗎》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MySQL查詢條件中in會(huì)用到索引嗎的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    巴彦县| 台安县| 灵山县| 合作市| 张家口市| 武强县| 建水县| 紫金县| 滦平县| 和田县| 沙坪坝区| 东阿县| 哈尔滨市| 密云县| 宁都县| 灵丘县| 商南县| 政和县| 织金县| 乌兰察布市| 娱乐| 鄂伦春自治旗| 赤水市| 安岳县| 织金县| 什邡市| 黄陵县| 连南| 罗城| 晋宁县| 商洛市| 新化县| 长宁区| 葵青区| 黔南| 临桂县| 栖霞市| 温州市| 太湖县| 沙河市| 巩留县|