天津11选5蛋托玩法 www.ijudhr.com.cn 數據庫查詢相信很多人都不陌生,所有經常有人調侃程序員就是CRUD專員,這所謂的CRUD指的就是數據庫的增刪改查。
在數據庫的增刪改查操作中,使用最頻繁的就是查詢操作。而在所有查詢操作中,統計數量操作更是經常被用到。
關于數據庫中行數統計,無論是MySQL還是Oracle,都有一個函數可以使用,那就是COUNT。
但是,就是這個常用的COUNT函數,卻暗藏著很多玄機,尤其是在面試的時候,一不小心就會被虐。不信的話請嘗試回答下以下問題:
1、COUNT有幾種用法?
2、COUNT(字段名)和COUNT(*)的查詢結果有什么不同?
3、COUNT(1)和COUNT(*)之間有什么不同?
4、COUNT(1)和COUNT(*)之間的效率哪個更高?
5、為什么《阿里巴巴Java開發手冊》建議使用COUNT(*)
6、MySQL的MyISAM引擎對COUNT(*)做了哪些優化?
7、MySQL的InnoDB引擎對COUNT(*)做了哪些優化?
8、上面提到的MySQL對COUNT(*)做的優化,有一個關鍵的前提是什么?
9、SELECT COUNT(*) 的時候,加不加where條件有差別嗎?
10、COUNT(*)、COUNT(1)和COUNT(字段名)的執行過程是怎樣的?
以上10道題,如果您可以全部準確無誤的回答的話,那說明你真的很了解COUNT函數了,如果有哪些知識點是不了解的,那么本文正好可以幫你答疑解惑。
認識COUNT
關于COUNT函數,在MySQL官網中有詳細介紹:
但是我們正常的查詢極少不帶where條件的,這種情況下該如何選擇呢