最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年07月19日 09:10:52   作者:小小的太陽(yáng)  
這篇文章主要給大家介紹了MySQL查詢(xún)條件中in會(huì)不會(huì)用到索引的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

當(dāng)用人問(wèn)你MySQL 查詢(xún)條件中 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ì)腳本之家的支持。

相關(guān)文章

  • 為什么MySQL 刪除表數(shù)據(jù) 磁盤(pán)空間還一直被占用

    為什么MySQL 刪除表數(shù)據(jù) 磁盤(pán)空間還一直被占用

    這篇文章主要討論為什么MySQL 刪除表數(shù)據(jù) 磁盤(pán)空間還一直被占用,項(xiàng)目中使用Mysql作為數(shù)據(jù)庫(kù),對(duì)于表來(lái)說(shuō),一般為表結(jié)構(gòu)和表數(shù)據(jù)。表結(jié)構(gòu)占用空間都是比較小的,一般都是表數(shù)據(jù)占用的空間。接下來(lái)小編就和大家一起進(jìn)入下面文章內(nèi)容的學(xué)習(xí)
    2021-10-10
  • 探究MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響

    探究MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響

    這篇文章主要介紹了MySQL中索引和提交頻率對(duì)InnoDB表寫(xiě)入速度的影響,作者通過(guò)實(shí)際測(cè)試運(yùn)行時(shí)間的對(duì)比來(lái)驗(yàn)證,需要的朋友可以參考下
    2015-05-05
  • mysql之set與enum的介紹

    mysql之set與enum的介紹

    本篇文章是對(duì)mysql中的set與enum進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL 中 LIMIT 使用示例詳解

    MySQL 中 LIMIT 使用示例詳解

    limit關(guān)鍵字主要用于指定查詢(xún)結(jié)果從哪條記錄開(kāi)始顯示,一共顯示多少條記錄,這篇文章主要介紹了MySQL 中 LIMIT 使用詳解,需要的朋友可以參考下
    2024-08-08
  • mysql8查看鎖信息

    mysql8查看鎖信息

    MYSQL中有一個(gè)重要的特性就是鎖,下面這篇文章主要給大家介紹了關(guān)于mysql8查看鎖信息的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL中order by在子查詢(xún)中失效的問(wèn)題解決方案

    MySQL中order by在子查詢(xún)中失效的問(wèn)題解決方案

    這篇文章主要介紹了MySQL中order by在子查詢(xún)中失效的問(wèn)題解決,文中補(bǔ)充介紹了Mysql 5.7版本導(dǎo)致的子查詢(xún)order by排序無(wú)效問(wèn)題的探究,需要的朋友可以參考下
    2023-07-07
  • 詳解遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)的問(wèn)題(ERROR 2003 (HY000))

    詳解遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)的問(wèn)題(ERROR 2003 (HY000))

    本篇文章是對(duì)遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Windows平臺(tái)下安裝與配置MySQL9的方法

    Windows平臺(tái)下安裝與配置MySQL9的方法

    這篇文章主要介紹了Windows平臺(tái)下安裝與配置MySQL9的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • MySQL存儲(chǔ)過(guò)程之流程控制while,repeat,loop循環(huán)

    MySQL存儲(chǔ)過(guò)程之流程控制while,repeat,loop循環(huán)

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程之流程控制while,repeat,loop循環(huán),循環(huán)中的代碼會(huì)運(yùn)行特定的次數(shù),或者是運(yùn)行到特定條件成立時(shí)結(jié)束循環(huán)
    2022-07-07
  • MySQL按小時(shí)查詢(xún)數(shù)據(jù),沒(méi)有的補(bǔ)0

    MySQL按小時(shí)查詢(xún)數(shù)據(jù),沒(méi)有的補(bǔ)0

    這篇文章主要介紹了MySQL按小時(shí)查詢(xún)數(shù)據(jù),沒(méi)有的補(bǔ)0,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

云霄县| 九江县| 辽源市| 石家庄市| 彭山县| 黎城县| 葵青区| 嘉定区| 根河市| 浦北县| 洛扎县| 乌拉特中旗| 扶余县| 婺源县| 上林县| 离岛区| 黔西| 合水县| 岢岚县| 南和县| 宝应县| 栖霞市| 凭祥市| 老河口市| 宁乡县| 东光县| 江华| 册亨县| 漯河市| 龙江县| 临夏市| 黎城县| 龙门县| 邯郸县| 新民市| 雅安市| 保亭| 隆化县| 陵川县| 若羌县| 大竹县|