更新時間:2020-11-30 來源:傳智教育 瀏覽量:
(1)問題分析
考慮數(shù)據(jù)庫的使用,在面對大量數(shù)據(jù)時如何保證數(shù)據(jù)庫中的數(shù)據(jù)及時的更新、響應(yīng)用戶的請求、確保數(shù)據(jù)庫的在高并發(fā)情況下仍能保證數(shù)據(jù)的完整性等。
(2)核心問題講解
①選取最適用的字段屬性
MySQL可以很好的支持大數(shù)據(jù)量的存取,但是一般說來,數(shù)據(jù)庫中的表越小,在它上面執(zhí)行的查詢也就會越快。因此,在創(chuàng)建表的時候,為了獲得更好的性能,我們可以將表中字段的寬度設(shè)得盡可能小。
②使用連接(JOIN)來代替子查詢(Sub-Queries)
這個技術(shù)可以使用SELECT語句來創(chuàng)建一個單列的查詢結(jié)果,然后把這個結(jié)果作為過濾條件用在另一個查詢中。例如,我們要將客戶基本信息表中沒有任何訂單的客戶刪除掉,就可以利用子查詢先從銷售信息表中將所有發(fā)出訂單的客戶ID取出來,然后將結(jié)果傳遞給主查詢;使用子查詢可以一次性的完成很多邏輯上需要多個步驟才能完成的SQL操作,同時也可以避免事務(wù)或者表鎖死,并且寫起來也很容易。但是,有些情況下,子查詢可以被更有效率的連接(JOIN)替代。
③使用聯(lián)合(UNION)來代替手動創(chuàng)建的臨時表
④事務(wù)
⑤鎖定表
⑥使用外鍵
⑦使用索引
⑧對查詢語句進(jìn)行優(yōu)化
(3)問題擴(kuò)展
都有哪些熟悉的數(shù)據(jù)庫,常用的有哪些,每種數(shù)據(jù)庫對應(yīng)的優(yōu)缺點(diǎn)等
(4)結(jié)合項目中使用
針對每種數(shù)據(jù)的優(yōu)缺點(diǎn)來結(jié)合項目進(jìn)行說明,在什么情況下使用哪種數(shù)據(jù)庫,使用的原因等(比如:采用Redis數(shù)據(jù)庫來對數(shù)據(jù)進(jìn)行緩存,查詢速度相對于其他的數(shù)據(jù)庫來說比較快等)
猜你喜歡