使用SELECT 1 FROM Tab來提高效率

2021-08-31 14:15:11 字數 636 閱讀 9561

1. 統計乙個表的總記錄數:select count(1)/sum(1)  from tab;

解釋:select 1 from table;與select anycol(目的表集合中的任意一行) from table;與select * from table 從作用上來說是沒有差別的,都是檢視是否有記錄,一般是作條件查詢用的。select 1 from 中的1是一常量(可以為任意數值),查到的所有行的值都是它,但從效率上來說,1>anycol>*,因為不用查字典表

2. select * from tab1 where not exists (select 1 from tab2 where tab1.col=tab2.col)

--看這個條件tab1.col=tab2.col,如果存在這樣的資料子查詢就返回1.

--整個查詢的意思就是在tab1中存在,在tab2中不存在的資料

select

*from

t1 where

notexists

(select

1from

t2 where

t1.id

=t2.id)

---表2不存在的與t1相同的id號

--意思就是查詢t1中與t2不同的id

select 函式 使用

告知核心等待某一或某些事件發生 而後喚醒程序 或超時返回 int select int maxfdp1,fd set readset,fd set writeset,fd set excepset,const struct timeval timeout 返回準備好的描述符數量 超時返0錯誤 1 主...

select函式使用

這兩天寫了這麼一段 select直接返回 1,錯誤資訊是 invalid argments 顯然沒有達到阻塞超時的效果。如下 bool issocketwaitread inf fd,int usec 這段 在標準的linux環境可以執行,但是在arm體系架構的國產化作業系統下,返回值永遠是 1 修...

select 1和select 0進行優化

當我們只關心資料表有多少記錄行而不需要知道具體的字段值時,類似 select 1 from tblname 是乙個很不錯的sql語句寫法,它通常用於子查詢。這樣可以減少系統開銷,提高執行效率,因為這樣子寫的sql語句,資料庫引擎就不會去檢索資料表裡一條條具體的記錄和每條記錄裡乙個個具體的字段值並將它...