成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

關于Mysql索引查詢效率問題

瀏覽:127日期:2022-06-11 09:23:43

問題描述

SELECT COUNT(*) FROM `set_gif` WHERE `zhuanid` = 0 AND `webid` IN (’0’,’2’,’21’,’22’,’27’,’11’,’31’) AND `empty` = 0 LIMIT 1 [ RunTime:0.1423s ]SELECT `id`,`webid`,`catid`,`path`,`pname`,`pathall`,`title`,`cdn`,`sort`,`likecount`,`fsize`,`time`,`viewcount`,`likecount` FROM `set_gif` WHERE `zhuanid` = 0 AND `webid` IN (’0’,’2’,’21’,’22’,’27’,’11’,’31’) AND `empty` = 0 ORDER BY time desc,id desc LIMIT 0,10 [ RunTime:0.0045s ]

兩個sql語句 后面runtime是執(zhí)行時間的意思 數(shù)據(jù)量是150W

字段說明 zhuanid是數(shù)值 webid是數(shù)值 empty是0或者1

第一句SQL使用的普通索引是 zhuanid webid empty的數(shù)的一組索引第二句SQL使用的索引是zhuanid webid empty一組索引 time 與 id是一組索引

為什么第一句的count會消耗這么長的時間 相比第二句復雜的查詢反而是很短的時間

問題解答

回答1:

第一句sql, limit 1第二句sql, limit 0, 10你讓count去數(shù)150w條....還想比查看前10條快?

回答2:

我的猜測:索引字段沒有設置不可為空,導致 count(*) 沒有使用到索引。

另外這兩條語句本身并不等價,第一條針對全表,第二條不是,好像沒啥可比性

回答3:

要看一下你的執(zhí)行計劃 第一條sql結(jié)果集很大的情況下是需要掃描所有符合條件的記錄的 這種情況下第二條sql走time id的索引只需要找到10條滿足條件的記錄即可 所以會比較快 另外zhuanid webid empty的組合索引也只會使用到zhuanid列和webid的range部分 可以修改索引順序為zhuanid empty webid

回答4:

第一條SQL執(zhí)行后,結(jié)果保存在Cache.

第二條SQL執(zhí)行,依賴了第一條SQL的Cache,所以會更快(其實第二條SQL用了排序,應該更慢才對).

樓主可以在第一條SQL執(zhí)行完后,執(zhí)行

RESET QUERY CACHE;

重置Cache,然后在執(zhí)行第二條SQL,結(jié)果是不一樣的.

相關文章:
主站蜘蛛池模板: 日本一区二区三区不卡在线视频 | 91成人免费在线视频 | 精品外国呦系列在线观看 | 欧美一级片在线播放 | 在线国产日韩 | 国内精品久久久久影院亚洲 | 欧美一级香蕉毛片 | 精品 日韩 国产 欧美在线观看 | 萌白酱福利视频在线网站 | 亚洲国产三级 | 99精品免费在线 | 色悠久久久久综合网伊人男男 | 亚洲国产成人精品91久久久 | 欧美精品久久久亚洲 | 日韩视频网 | 国产午夜免费不卡精品理论片 | 男人女人做黄刺激性视频免费 | 亚洲欧美日韩一区 | 91精品国产高清久久久久久91 | 日本免费人成在线网站 | 亚洲人成亚洲人成在线观看 | 久草资源在线观看 | 国产精品免费一区二区区 | 欧美三级不卡在线观看视频 | 94欧美setu| 手机看片日韩日韩 | 91久久国产口精品久久久久 | 欧美日韩一区二区中文字幕视频 | 在线观看黄网视频免费播放 | 免费ab| 99精品久久久久久 | 精品国产美女福到在线不卡f | 免费观看成为人视频 | 久久两性 | 成人欧美一区二区三区黑人免费 | 欧美经典成人在观看线视频 | 经典国产一级毛片 | 91理论片| 亚洲成a人在线观看 | 女人成午夜大片7777在线 | 国产精品久久久天天影视香蕉 |