天天看點

SQL中DQL語句:select * from tb_name為什麼不介意使用,而建議使用select 字段1,字段2...字段n from tb_name

首先,其實select 字段1,字段2...字段N from tb_name語句是select * from tb_name的優化。

 1、執行效率。做一個實驗

select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc  (按照降序搜尋tb_gongwen 前10000行的對應字段)

用時:4673毫秒  

select top 10000 gid,fariqi,title from tgongwen order by gid desc  

用時:1376毫秒  

select top 10000 gid,fariqi from tgongwen order by gid desc  

用時:80毫秒  

由此看來,我們每少提取一個字段,資料的提取速度就會有相應的提升。提升的速度還要看您舍棄的字段的大小來判斷。那麼select*是搜尋所有字段,他會浪費多少時間呢???

2、系統資源的占用

select * 獲得表中所有字段值所占用的資源将毫無疑問的大于後者。

3、可維護性

select 字段1,字段2 from tb_name明顯維護性高于select * from tb_name;可以根據需求進行增删字段。