select * 和select 1 以及 select count(*) 和select count(1)的區別


 

select 1 和select *

select * from 表;查詢出表中所有數據,性能比較差;

select 常量 from 表;查詢出結果是所有記錄數的常量,性能比較高;

selelct 常量 from ... 對應所有行,返回的永遠只有一個值,即常量。例如 select 1 from 表名 。。。

所以正常只會用來判斷是否有還是沒有(比如exists子句)。而select * from ... 是返回所有行的所有列。

如果要判斷是否有結果使用select 1,如果要返回數據,使用select * ;

 

 

Select Count (*)和Select Count(1)

一般情況下,Select Count (*)和Select Count(1)兩着返回結果是一樣的

如果表中沒有主鍵 ,使用count(1)比count(*)快;

如果有主鍵,那么count(主鍵)最快

count(*)和count(1)的結果一樣,都包括對NULL的統計,而count(字段) 不包括NULL的統計;

實操中,選擇使用 count(1)的情況比較多;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM