一條sql語句好還是解耦多條好?
看看你的服務器的性能。有兩種可能。
1.如果通過SQL做關聯表,會導致mssqlserver的CPU、IOPS、內存等資源很高。但在后臺,前端處理速度加快。
2.如果要通過多個SELECTwithwhere條件把數據放到后臺進行處理,那么mssql服務的連接數會比較高,后臺CPU和內存資源也會比較高。考慮到事務情況,可能會有一個臨時表鎖。壓力在后臺。
所以,這取決于你的數據庫和服務器。如果只針對mssql,第一種情況效率較高,但消耗資源較高。第二種情況,連接多,導致所有請求都連接到數據庫,考慮互操作和事務,效率比較低。
學習SQL大概需要多長時間呢?
我認為一周足夠了。
基本上,SQL用于CRUD(創建、讀取、更新、刪除)操作,它有兩個方面。
學習DML和DDL語句、選擇列表、WHERE子句表達式、連接、簡單GROUPBY/HAVING、ORDERBY等等基本知識就夠了。
基本DML和DDL。簡單的WHERE表達式。連接及其語法,包括左/右連接。如果你知道"舊"連接語法(不使用連接關鍵字)和"新"加入語法。ORDERBY,以及在ORDERBY語句中有多列的含義。GROUPBY/HAVING——這些很少使用,但是如果你需要的話,它們通常是唯一有效的工作。不管怎樣"限制ltNgt"數據庫引擎使用的語法。不幸的是,不同的數據庫在這方面略有不同,但這在查詢中很常見。簡單的子查詢——有時你需要這些,尤其是[NOT]存在的時候。了解常量子查詢和相關子查詢之間的區別也很有好處。了解主鍵、外鍵和索引。學習一些關于事務的基礎知識,包括自動提交、啟動事務、提交和回滾。一些簡單的數據庫設計