最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL優(yōu)化總結(jié)-查詢總條數(shù)

 更新時間:2017年10月17日 11:02:26   作者:lilielite  
這篇文章主要介紹了MySQL優(yōu)化總結(jié)-查詢總條數(shù)的相關(guān)內(nèi)容,文中進行簡單的測試對比,具有一定參考價值,需要的朋友可以了解下。

1、COUNT(*)和COUNT(COL)

COUNT(*)通常是對主鍵進行索引掃描,而COUNT(COL)就不一定了,另外前者是統(tǒng)計表中的所有符合的紀錄總數(shù),而后者是計算表中所有符合的COL的紀錄數(shù)。還有有區(qū)別的。
優(yōu)化總結(jié),對于MyISAM表來說:

1.任何情況下SELECT COUNT(*) FROM tablename是最優(yōu)選擇;

2.盡量減少SELECT COUNT(*) FROMtablename WHERE COL = 'value' 這種查詢;

3.杜絕SELECT COUNT(COL) FROM tablename WHERE COL2 ='value' 的出現(xiàn)。

2、COUNT(*)還是COUNT(id)

根據(jù)我的理解,應(yīng)該是使用COUNT(id)更加快速,因為如果我的id是一個自增的主鍵,那么計算它的數(shù)量顯然比計算所有字段的數(shù)量需要消耗的資源少一些。但是我不止在一篇的類似指導mysql查詢加速的文章中看到,都建議我們使用SELECT COUNT(*)而非直接COUNT主鍵,這是為什么呢?

貌似是因為用MyISAM引擎的表存儲了總條數(shù),如果沒有WHERE或者WHERE恒為真(比如WHERE 1),那么COUNT(*)可以直接返回總條數(shù)。

另外,很顯然COUNT(*)不是"計算所有的字段",顯然MySQL會把*解析成“一條數(shù)據(jù)”的意思。

測試數(shù)據(jù),簡單對比一下,未做更深入的測試:

#0.817-一百萬條的查詢時間
select count(*) from student ;
#0.789-一百萬條的查詢時間
select count(id) from student;
#1.011-一百萬條的查詢時間
select count(name) from student;
#1.162-一百萬條的查詢時間
SELECT COUNT(*) FROM student WHERE namelike '%xiaoli%';#默認用主鍵索引查詢,但是加上like條件后索引失效

總結(jié)

總的來說,使用COUNT(id)還是更快一些,這里作的簡單對比,供大家參考。

以上就是本文關(guān)于MySQL優(yōu)化總結(jié)-查詢總條數(shù)的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以參閱:MySQL優(yōu)化之使用連接(join)代替子查詢、MYSQL子查詢和嵌套查詢優(yōu)化實例解析mysql in語句子查詢效率慢的優(yōu)化技巧示例等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • MySQL找出未提交事務(wù)信息的方法分享

    MySQL找出未提交事務(wù)信息的方法分享

    這篇文章主要給大家介紹了關(guān)于MySQL如何找出未提交事務(wù)信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • macOS 下的 MySQL 8.0.17 安裝與簡易配置教程圖解

    macOS 下的 MySQL 8.0.17 安裝與簡易配置教程圖解

    這篇文章主要介紹了macOS 下的 MySQL 8.0.17 安裝與簡易配置教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • MySQL修改默認存儲引擎的實現(xiàn)方法

    MySQL修改默認存儲引擎的實現(xiàn)方法

    下面小編就為大家?guī)硪黄狹ySQL修改默認存儲引擎的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 適合新手的mysql日期類型轉(zhuǎn)換實例教程

    適合新手的mysql日期類型轉(zhuǎn)換實例教程

    Mysql作為一款開元的免費關(guān)系型數(shù)據(jù)庫,用戶基礎(chǔ)非常龐大,下面這篇文章主要給大家介紹了關(guān)于mysql日期類型轉(zhuǎn)換的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • mysql 找回誤刪表的數(shù)據(jù)方法(必看)

    mysql 找回誤刪表的數(shù)據(jù)方法(必看)

    下面小編就為大家?guī)硪黄猰ysql 找回誤刪表的數(shù)據(jù)方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • mysql 5.7.21 安裝配置方法圖文教程(window)

    mysql 5.7.21 安裝配置方法圖文教程(window)

    這篇文章主要為大家詳細介紹了window環(huán)境下mysql5.7.21安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • MySQL命令行中給表添加一個字段(字段名、是否為空、默認值)

    MySQL命令行中給表添加一個字段(字段名、是否為空、默認值)

    本文介紹MySQL數(shù)據(jù)庫使用SQL語句來在現(xiàn)有的表中,添加一個新的字段,包括設(shè)置字段的是否為空、默認值等
    2016-04-04
  • MySQL使用GROUP?BY使用技巧和注意事項總結(jié)

    MySQL使用GROUP?BY使用技巧和注意事項總結(jié)

    GROUP?BY?子句是?在MySQL?中用于將查詢結(jié)果按照指定的列或表達式進行分組的關(guān)鍵字,它通常與聚合函數(shù)一起使用,能夠?qū)γ總€分組進行統(tǒng)計或計算,本文給大家總結(jié)了MySQL使用GROUP?BY使用技巧和注意事項,需要的朋友可以參考下
    2024-05-05
  • 使用mysql查詢顯示行號的示例代碼

    使用mysql查詢顯示行號的示例代碼

    MySQL變量是一種用于存儲和操縱數(shù)據(jù)的數(shù)據(jù)類型,通過在SQL查詢中使用變量,我們可以創(chuàng)建一個MySQL查詢,用于獲取每行數(shù)據(jù)的行號,本文給大家介紹了使用mysql查詢顯示行號的示例代碼,需要的朋友可以參考下
    2024-01-01
  • Linux中更改轉(zhuǎn)移mysql數(shù)據(jù)庫目錄的步驟

    Linux中更改轉(zhuǎn)移mysql數(shù)據(jù)庫目錄的步驟

    前幾天發(fā)現(xiàn)由于MySQL的數(shù)據(jù)庫太大,默認安裝的/var盤已經(jīng)再也無法容納新增加的數(shù)據(jù),只能想辦法轉(zhuǎn)移數(shù)據(jù)的目錄。網(wǎng)上有很多相關(guān)的文章寫到轉(zhuǎn)移數(shù)據(jù)庫目錄的文章,但轉(zhuǎn)載的過程中還會有一些錯誤,因為大部分人根本就沒測試過,這篇文章是本文測試過整理好后分享給大家。
    2016-11-11

最新評論

扶沟县| 蕲春县| 康保县| 乐陵市| 蒙阴县| 通渭县| 会同县| 融水| 马鞍山市| 冀州市| 安泽县| 永济市| 新田县| 海丰县| 邓州市| 新野县| 太康县| 东兴市| 哈密市| 始兴县| 蓝田县| 兰考县| 泽州县| 岗巴县| 伊金霍洛旗| 邮箱| 永城市| 淮滨县| 唐海县| 平度市| 尼木县| 上犹县| 墨江| 盘锦市| 怀集县| 璧山县| 克拉玛依市| 万山特区| 黎川县| 云安县| 理塘县|