數據庫雜篇

數據頁:數據文件中的最小存儲單元,頁面的大小是8*1024個字節(jié)

聚簇:將含有相同列的表存到一個數據庫塊之中

寫sql的順序:

表->where(去除符合條件的行數據,此時列沒有變化)->符合條件的中間結果表-> 分組統(tǒng)計運算或者投影運算:max、min、count、avg、group by->上步得到的新的結果集,這時就有可能產生新的列->having(篩選結果)->order by(得到排序結果表)->limit(限制條目)->最終結果表

SQL構造塊

聚集函數

DISTINCT

GROUP BY

HAVING

集合操作(在MySQL中只有UNION, UNION ALL,沒有EXCEPT和INTERSECT)

子查詢

外鍵:

1,在大型系統(tǒng)中(性能要求不高,安全要求高),使用外鍵;在大型系統(tǒng)中(性能要求高,安全自己控制),不用外鍵;小系統(tǒng)隨便,最好用外鍵。

2,用外鍵要適當,不能過分追求

3,不用外鍵而用程序控制數據一致性和完整性時,應該寫一層來保證,然后個個應用通過這個層來訪問數據庫。

主鍵和索引是必須的

優(yōu)點:對性能有巨大提升

泛關系假設:所描述的數據的全體能用一個關系來表述。

存儲過程的優(yōu)缺點:

1.無需進行數據庫服務器解析,執(zhí)行速度快

2.屏蔽sql注入,安全

3.不利于系統(tǒng)分層設計和維護

4.不利于數據庫的遷移

索引

優(yōu)點:提高查詢速度

缺點:降低update和insert效率,且占用內存

聚簇索引適用情況:

1、含有大量非重復值的列。

2、使用BETWEEN,>,>=,<或<=返回一個范圍值的列

3、被連續(xù)訪問的列

4、返回大型結果集的查詢

5、經常被使用連接或GROUP BY子句的查詢訪問的列

聚簇索引不適用情況:

1.高頻更新的列

注意事項?

定義聚集索引鍵時使用的列越少越好,這一點很重要。如果定義了一個大型的聚集索引鍵,則同一個表上定義的任何非聚集索引都將增大許多,因為非聚集索引條目包含聚集鍵

聚集函數:Max、Min、Sum 、Avg 、Count

avg和count參數必須是數據集,前四個與count(*)會忽略null,count(column)不忽略null

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容