新聞中心
MySQL數(shù)據(jù)庫(kù)對(duì)于COUNT(*)的不同處理會(huì)造成不同的結(jié)果,比如,

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括武山網(wǎng)站建設(shè)、武山網(wǎng)站制作、武山網(wǎng)頁(yè)制作以及武山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
執(zhí)行:SELECT COUNT(*) FROM tablename,即使對(duì)于千萬(wàn)級(jí)別的數(shù)據(jù)mysql也能非常迅速的返回結(jié)果。
執(zhí)行: SELECT COUNT(*) FROM tablename WHERE…..,mysql的查詢時(shí)間開(kāi)始攀升。
網(wǎng)上查資料得知:當(dāng)沒(méi)有WHERE語(yǔ)句對(duì)于整個(gè)mysql的表進(jìn)行count運(yùn)算的時(shí)候,MyISAM類型的表中保存有總的行數(shù),而當(dāng)添加有WHERE限定語(yǔ)句的時(shí)候Mysql需要對(duì)整個(gè)表進(jìn)行檢索,從而得出count的數(shù)值,因此加上where條件的查詢速度就會(huì)很慢了。
對(duì)于MySQL的DISTINCT的關(guān)鍵字的一些用法:
1.在count 不重復(fù)的記錄的時(shí)候能用到,比如SELECT COUNT( DISTINCT id ) FROM tablename;就是計(jì)算talbebname表中id不同的記錄有多少條。
2,在需要返回記錄不同的id的具體值的時(shí)候可以用,比如SELECT DISTINCT id FROM tablename;返回talbebname表中不同的id的具體的值。
3.上面的情況2對(duì)于需要返回mysql表中2列以上的結(jié)果時(shí)會(huì)有歧義,比如SELECT DISTINCT id, type FROM tablename;實(shí)際上返回的是 id與type同時(shí)不相同的結(jié)果,也就是DISTINCT同時(shí)作用了兩個(gè)字段,必須得id與tyoe都相同的才被排除了,與我們期望的結(jié)果不一樣。
4.這時(shí)候可以考慮使用group_concat函數(shù)來(lái)進(jìn)行排除,不過(guò)這個(gè)mysql函數(shù)是在mysql4.1以上才支持的。
5.其實(shí)還有另外一種解決方式,就是使用,SELECT id, type, count(DISTINCT id) FROM tablename,雖然這樣的返回結(jié)果多了一列無(wú)用的count數(shù)據(jù)(或許你就需要這個(gè)我說(shuō)的無(wú)用數(shù)據(jù)),返回的結(jié)果是只有id不同的所有結(jié)果和上面的4類型可以互補(bǔ)使用,就是看你需要什么樣的數(shù)據(jù)了。
DISTINCT的效率:
SELECT id, type, count(DISTINCT id) FROM tablename,雖然這樣的返回結(jié)果多了一列無(wú)用的count數(shù)據(jù)(或許你就需要這個(gè)我說(shuō)的無(wú)用數(shù)據(jù)),SELECT id, type from tablename group by id;這樣貌似也可以,用distinct的時(shí)候,如果它有索引,mysql會(huì)把它轉(zhuǎn)成group by的方式執(zhí)行。
關(guān)于MySQL數(shù)據(jù)庫(kù)的COUNT(*)以及DISTINCT的使用就介紹到這里了,希望本次的介紹能夠帶給您一些收獲,謝謝!
標(biāo)題名稱:MySQL數(shù)據(jù)庫(kù)中COUNT(*)和DISTINCT的使用及效率研究
文章URL:http://www.5511xx.com/article/cddcdog.html


咨詢
建站咨詢
