av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

mysql - 這條sql可以怎么優(yōu)化,求幫助

瀏覽:168日期:2022-06-19 16:26:08

問(wèn)題描述

select count(*) from trade where shippingtype <> 'free' and status in ('TRADE_FINISHED','WAIT_SELLER_SEND_GOODS') and tosellerreachgoods = 0 and consigntime <1470110400000 and ( endtime >=1469980800000 or endtime is null ) and created >=1469980800000 and created <=1470067200000 and user = 'xxxxxxxxxxxxxxxx' ;

idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLEtraderangetrade__user,trade_user_created,trade_user_buyernick,trade__status_created,trade_user_statustrade_user_created108NULL588Using index condition; Using where

問(wèn)題解答

回答1:

盡管從explain結(jié)果看這個(gè)查詢沒(méi)什么特別問(wèn)題,但以下幾點(diǎn)可以考慮一下。1、shippingtype和status看起來(lái)是個(gè)枚舉值,可以用tinyint代替(數(shù)值查詢比字符串查詢速度要快);2、endtime設(shè)為NOT NULL, 把原來(lái)的null值用一個(gè)特殊值(-1或0)代替,NULL值會(huì)影響索引的效率;3、可以的話,用user_id代替user;

個(gè)人YY的優(yōu)化:

SELECT count(*) FROM trade WHERE status IN ('TRADE_FINISHED', 'WAIT_SELLER_SEND_GOODS') AND shippingtype <> 'free'AND tosellerreachgoods = 0 AND user = 'xxxxxxxxxxxxxxxx'AND consigntime < 1470110400000 AND created BETWEEN 1469980800000 AND 1470067200000AND ( endtime >= 1469980800000 OR endtime IS NULL );

前面4個(gè)條件沒(méi)什么好說(shuō)的,主要是后面三個(gè)條件,分別是consigntime、created和endtime,根據(jù)篩選范圍從小到大來(lái)排列(具體要看你的表里這三個(gè)字段的范圍段)。

部分建議是基于你能修改表結(jié)構(gòu)的基礎(chǔ)上提出的,如果沒(méi)有權(quán)限的話那就忽略吧。

參考資料:http://tech.meituan.com/mysql...

回答2:

Strong

回答3:

那個(gè) 不等于 影響性能

回答4:

從explain上來(lái)看沒(méi)什么問(wèn)題

相關(guān)文章:
主站蜘蛛池模板: 日本成人免费 | 欧美日韩小视频 | 91蜜桃在线观看 | 成人在线视频免费 | 一级黄色网 | 不卡中文字幕 | 97视频在线| 黄色av一区 | 中文字幕在线视频观看 | 午夜看片 | 激情网五月天 | 黄色特级毛片 | 欧美精品亚洲 | 久久人人爽人人爽人人片 | 国产在线免费 | 久久精品2| 欧美日本一区二区三区 | 国产盗摄一区二区 | 成人在线视频免费观看 | av一级在线 | 免费成人黄色网址 | 欧美一区二区三区在线视频 | 国产91精品看黄网站在线观看 | 国产精品久久久久久久久久久久久久久 | 日日夜夜综合网 | 曰韩毛片| 成人中文字幕在线观看 | www久久久 | 麻豆av在线免费观看 | 手机成人在线视频 | 少妇高潮露脸国语对白 | 伊人网综合 | 久久亚洲国产 | 国产福利一区二区 | 日韩一区二区三区在线 | 亚洲性av| av不卡在线观看 | 免费中文字幕日韩欧美 | 免费在线小视频 | 一区二区三区四区视频 | 超碰av在线播放 |