亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL中count(*)、count(1)和count(col)的區別匯總

2024-07-25 19:08:09
字體:
來源:轉載
供稿:網友

前言

count函數是用來統計表中或數組中記錄的一個函數,count(*) 它返回檢索行的數目, 不論其是否包含 NULL值。最近感覺大家都在討論count的區別,那么我也寫下吧:歡迎留言討論,話不多說了,來一起看看詳細的介紹吧。

1、表結構:

dba_jingjing@3306>[rds_test]>CREATE TABLE `test_count` ( -> `c1` varchar(10) DEFAULT NULL, -> `c2` varchar(10) DEFAULT NULL, -> KEY `idx_c1` (`c1`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Query OK, 0 rows affected (0.11 sec)

2、插入測試數據:

dba_jingjing@3306>[rds_test]>insert into test_count values(1,10);Query OK, 1 row affected (0.03 sec)dba_jingjing@3306>[rds_test]>insert into test_count values(abc,null);ERROR 1054 (42S22): Unknown column 'abc' in 'field list'dba_jingjing@3306>[rds_test]>insert into test_count values('abc',null);Query OK, 1 row affected (0.04 sec)dba_jingjing@3306>[rds_test]>insert into test_count values(null,null);Query OK, 1 row affected (0.04 sec)dba_jingjing@3306>[rds_test]>insert into test_count values('368rhf8fj',null);Query OK, 1 row affected (0.03 sec)dba_jingjing@3306>[rds_test]>select * from test_count;+-----------+------+| c1  | c2 |+-----------+------+| 1   | 10 || abc  | NULL || NULL  | NULL || 368rhf8fj | NULL |+-----------+------+4 rows in set (0.00 sec)

測試:

dba_jingjing@3306>[rds_test]>select count(*) from test_count;+----------+| count(*) |+----------+|  4 |+----------+1 row in set (0.00 sec)   EXPLAIN: {  "query_block": {   "select_id": 1,   "message": "Select tables optimized away"  1 row in set, 1 warning (0.00 sec)
dba_jingjing@3306>[rds_test]>select count(1) from test_count;+----------+| count(1) |+----------+|  4 |+----------+1 row in set (0.00 sec)   EXPLAIN: {  "query_block": {   "select_id": 1,   "message": "Select tables optimized away"  1 row in set, 1 warning (0.00 sec)
dba_jingjing@3306>[rds_test]>select count(c1) from test_count;+-----------+| count(c1) |+-----------+|   3 |+-----------+1 row in set (0.00 sec)   "table": {    "table_name": "test1",    "access_type": "index",    "key": "idx_c1",    "used_key_parts": [     "c1"    ],    "key_length": "33",

那么這里面的"key_length": "33",為什么是33呢,什么是二級索引?見下節

count(*) 和count(1) 是沒有區別的,而count(col) 是有區別的

執行計劃有特點:可以看出它沒有查詢索引和表,有時候會出現select tables optimized away 不會查表,速度會很快

Extra有時候會顯示“Select tables optimized away”,意思是沒有更好的可優化的了。

官方解釋For explains on simple count queries (i.e. explain select count(*) from people) the extra
       section will read "Select tables optimized away."
    This is due to the fact that MySQL can read the result directly from the table internals and therefore does not need to perform the select.

---MySQL對于“Select tables optimized away”的含義, 不是"沒有更好的可優化的了", 官方解釋中關鍵的地方在于:
 MySQL can read the result directly

所以,合理的解釋是: 

    1 數據已經在內存中可以直接讀取; 

    2 數據可以被認為是一個經計算后的結果,如函數或表達式的值; 

    3 一旦查詢的結果被優化器"預判"可以不經執行就可以得到結果,所以才有"not need to perform the select".

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品日本亚洲专区61| 国产91精品高潮白浆喷水| 欧美日韩在线影院| 亚洲天堂av在线免费观看| 91精品久久久久久久久中文字幕| 国外日韩电影在线观看| 色老头一区二区三区在线观看| 国产精品久久久久高潮| 日韩亚洲一区二区| 欧洲成人午夜免费大片| 亚洲精品午夜精品| 成人激情视频小说免费下载| 狠狠躁夜夜躁久久躁别揉| 国产这里只有精品| 精品亚洲一区二区三区在线播放| 91色琪琪电影亚洲精品久久| 国产免费成人av| 久久综合免费视频影院| 亚洲一区二区三区乱码aⅴ| 日本aⅴ大伊香蕉精品视频| 国产日韩中文字幕| 国产精品手机播放| 久久高清视频免费| 欧美最顶级丰满的aⅴ艳星| 国产精品第一页在线| 精品一区二区亚洲| 97色在线观看免费视频| 欧美肥臀大乳一区二区免费视频| 久久99国产综合精品女同| 国产不卡视频在线| 91久久精品美女高潮| 清纯唯美日韩制服另类| 亚洲天堂网站在线观看视频| 性欧美在线看片a免费观看| 不卡伊人av在线播放| 啊v视频在线一区二区三区| 欧美一区深夜视频| 亚洲情综合五月天| 2024亚洲男人天堂| 国产99久久精品一区二区永久免费| 久久精品91久久久久久再现| 亚洲人成网站在线播| 欧美日韩中文在线观看| 国内外成人免费激情在线视频| 色无极亚洲影院| 日韩在线视频观看正片免费网站| 一区二区亚洲欧洲国产日韩| 久久久久久久999| 亚洲综合视频1区| 久久久精品视频在线观看| 亚洲欧洲国产一区| 色婷婷综合久久久久| 亚洲国语精品自产拍在线观看| 亚洲精品在线观看www| 精品亚洲夜色av98在线观看| 国产精品电影在线观看| 精品国内自产拍在线观看| 欧美精品手机在线| 日韩黄在线观看| 色综合久久天天综线观看| 精品精品国产国产自在线| 在线视频欧美日韩精品| 一本色道久久88综合日韩精品| 中文字幕日韩欧美精品在线观看| 国产视频久久久久| 国产精品电影观看| 亚洲视频999| 久久久久久噜噜噜久久久精品| 在线观看免费高清视频97| 国产精品久久久久久av福利| 成人免费视频a| xxxx欧美18另类的高清| 国产亚洲福利一区| 欧美多人爱爱视频网站| 亚洲欧美制服丝袜| 亚洲精品一区二区三区不| 国产婷婷97碰碰久久人人蜜臀| 国产欧美日韩亚洲精品| 欧美综合第一页| 中文字幕视频一区二区在线有码| 国产精品爽爽爽爽爽爽在线观看| 国产精品高潮呻吟久久av黑人| 久久97精品久久久久久久不卡| 成人福利视频在线观看| 毛片精品免费在线观看| 亚洲一区二区久久久久久久| 欧美第一黄色网| 亚洲色图25p| 国产精品视频自在线| 国产91在线播放| 久久不射热爱视频精品| 亚洲美女在线视频| 中文字幕九色91在线| 国产欧美精品一区二区| 亚洲欧美激情在线视频| 色综合男人天堂| 中文字幕亚洲欧美| 亚洲天堂av综合网| 久久天天躁狠狠躁夜夜躁| 亚洲第五色综合网| 伊人久久免费视频| 亚洲天堂av高清| 成人免费看吃奶视频网站| 久久成人综合视频| 热re99久久精品国产66热| 在线日韩精品视频| 日韩成人网免费视频| 色吧影院999| 欧美性生交大片免费| 91精品国产91久久久久久吃药| 欧美午夜电影在线| 国产精品国内视频| 国产日韩换脸av一区在线观看| 欧美成人午夜影院| 97超碰色婷婷| 欧美超级免费视 在线| 一本一本久久a久久精品牛牛影视| yellow中文字幕久久| 亚洲激情视频在线播放| 欧美性在线视频| 国产精品免费电影| 国产精品国产三级国产专播精品人| 欧美视频在线视频| 久久精品视频导航| 亚洲电影免费观看高清完整版在线| 日韩精品免费在线视频观看| 欧美资源在线观看| 亚洲性日韩精品一区二区| 欧美激情精品久久久久| 国产精品久久久久久久久免费| 亚洲色图色老头| 国产精品video| 欧美黑人一区二区三区| 欧美精品18videos性欧美| 欧美亚洲国产日韩2020| 亚洲第一视频网| 超碰精品一区二区三区乱码| 91精品国产91久久| 粗暴蹂躏中文一区二区三区| 在线观看中文字幕亚洲| 日日狠狠久久偷偷四色综合免费| 亚洲成人av在线播放| 国产精品一区二区三区毛片淫片| 91久久在线播放| 亚洲精品久久久久久下一站| 91精品国产成人www| 亚洲欧美三级伦理| 欧美精品中文字幕一区| 欧美日韩免费一区| 成人欧美一区二区三区在线湿哒哒| 俺去了亚洲欧美日韩| 国产v综合v亚洲欧美久久| 久久久亚洲欧洲日产国码aⅴ| 日韩电影免费在线观看中文字幕| 91九色蝌蚪国产| 国产精品99久久久久久白浆小说| 国产精品久久久久久超碰| 91极品视频在线| 欧美成aaa人片在线观看蜜臀| 亚洲欧美日韩在线高清直播| 亚洲精品不卡在线| 一区二区三区 在线观看视| 91av在线影院| 高清欧美性猛交xxxx黑人猛交|