自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL數(shù)據(jù)庫中COUNT(*)和DISTINCT的使用及效率研究

數(shù)據(jù)庫 MySQL
本文我們主要介紹了MySQL數(shù)據(jù)庫COUNT(*)和DISTINCT的一些使用方法,希望能夠?qū)δ兴鶐椭?/div>

MySQL數(shù)據(jù)庫對于COUNT(*)的不同處理會造成不同的結(jié)果,比如,

執(zhí)行:SELECT COUNT(*) FROM tablename,即使對于千萬級別的數(shù)據(jù)mysql也能非常迅速的返回結(jié)果。

執(zhí)行: SELECT COUNT(*)  FROM tablename WHERE…..,mysql的查詢時間開始攀升。

網(wǎng)上查資料得知:當沒有WHERE語句對于整個mysql的表進行count運算的時候,MyISAM類型的表中保存有總的行數(shù),而當添加有WHERE限定語句的時候Mysql需要對整個表進行檢索,從而得出count的數(shù)值,因此加上where條件的查詢速度就會很慢了。

對于MySQL的DISTINCT的關(guān)鍵字的一些用法:

1.在count 不重復的記錄的時候能用到,比如SELECT COUNT( DISTINCT id ) FROM tablename;就是計算talbebname表中id不同的記錄有多少條。

2,在需要返回記錄不同的id的具體值的時候可以用,比如SELECT DISTINCT id FROM tablename;返回talbebname表中不同的id的具體的值。

3.上面的情況2對于需要返回mysql表中2列以上的結(jié)果時會有歧義,比如SELECT DISTINCT id, type FROM tablename;實際上返回的是 id與type同時不相同的結(jié)果,也就是DISTINCT同時作用了兩個字段,必須得id與tyoe都相同的才被排除了,與我們期望的結(jié)果不一樣。

4.這時候可以考慮使用group_concat函數(shù)來進行排除,不過這個mysql函數(shù)是在mysql4.1以上才支持的。

5.其實還有另外一種解決方式,就是使用,SELECT id, type, count(DISTINCT id) FROM tablename,雖然這樣的返回結(jié)果多了一列無用的count數(shù)據(jù)(或許你就需要這個我說的無用數(shù)據(jù)),返回的結(jié)果是只有id不同的所有結(jié)果和上面的4類型可以互補使用,就是看你需要什么樣的數(shù)據(jù)了。

DISTINCT的效率:

SELECT id, type, count(DISTINCT id) FROM tablename,雖然這樣的返回結(jié)果多了一列無用的count數(shù)據(jù)(或許你就需要這個我說的無用數(shù)據(jù)),SELECT id, type from tablename group by id;這樣貌似也可以,用distinct的時候,如果它有索引,mysql會把它轉(zhuǎn)成group by的方式執(zhí)行。

關(guān)于MySQL數(shù)據(jù)庫的COUNT(*)以及DISTINCT的使用就介紹到這里了,希望本次的介紹能夠帶給您一些收獲,謝謝!

【編輯推薦】

  1. MySQL數(shù)據(jù)庫建立外鍵失敗的原因總結(jié)
  2. MySQL數(shù)據(jù)庫各種存儲引擎及其作用簡介
  3. MySQL數(shù)據(jù)庫如何實現(xiàn)跨表更新與數(shù)據(jù)并合
  4. MySQL數(shù)據(jù)庫修改MySQL密碼的六種措施總結(jié)
  5. 關(guān)于MySQL數(shù)據(jù)庫索引和ORDER BY子句的使用問題簡介
責任編輯:趙鵬 來源: 火魔網(wǎng)
相關(guān)推薦

2010-11-22 13:23:52

MySQL數(shù)據(jù)庫優(yōu)化

2022-03-31 16:47:30

mysqlcount面試官

2009-04-17 11:28:16

Oracle備份恢復

2010-09-10 13:50:51

SQLCOUNT函數(shù)

2023-05-29 15:23:37

MySQL數(shù)據(jù)庫函數(shù)

2011-04-02 09:33:08

MySQL數(shù)據(jù)庫查詢效率

2011-04-02 09:33:13

MySQL數(shù)據(jù)庫查詢效率

2011-04-02 09:23:19

MySQL數(shù)據(jù)庫查詢效率

2010-07-15 09:47:09

SQL Server數(shù)

2011-07-22 16:59:30

MySQL數(shù)據(jù)庫嵌套查詢

2009-05-08 09:56:37

MaxDBMySQL數(shù)據(jù)庫管理

2019-12-24 10:12:09

數(shù)據(jù)庫工具技術(shù)

2019-09-16 16:30:56

2020-08-05 09:25:03

云計算技術(shù)數(shù)據(jù)

2010-05-26 09:44:41

MySQL數(shù)據(jù)庫使用

2010-10-27 14:15:44

Oracle數(shù)據(jù)庫效率

2010-05-13 14:07:39

MySQL數(shù)據(jù)庫

2020-10-15 09:10:02

MySQL性能優(yōu)化

2010-10-14 09:36:47

MySQL命令行

2022-05-09 08:01:23

countdistinctMySQL
點贊
收藏

51CTO技術(shù)棧公眾號