1.資料型別的選擇原則:
1.不好的設計:
1.正規化的優點:
1.有時提公升效能最好的方法是同一張表中儲存衍生的冗餘資料,有時也需要建立一張完全獨立的彙總表或快取表
2.物化檢視,mysql並不原生支援,flexviews
3.如果應用在表中儲存計數器,則在更新計數器時可能踫到併發問題,建立一張獨立的表儲存計數器,可以幫助避免快取失效
1.兩種方式:
每當我們建立乙個myisam引擎的表時,就會在本地磁碟上建立三個檔案,檔名就是表名。
例如,我建立了乙個myisam引擎的tb_demo表,那麼就會生成以下三個檔案:
tb_demo.frm,儲存表定義。
tb_demo.myd,儲存資料。
tb_demo.myi,儲存索引。
myisam表無法處理事務,這就意味著有事務處理需求的表,不能使用myisam儲存引擎。myisam儲存引擎特別適合在以下幾種情況下使用:
選擇密集型的表。 myisam儲存引擎在篩選大量資料時非常迅速,這是它最突出的優點。
插入密集型的表。 myisam的併發插入特性允許同時選擇和插入資料。
由此看來,myisam儲存引擎很適合管理伺服器日誌資料。
innodb是乙個健壯的事務型儲存引擎,這種儲存引擎已經被很多網際網路公司使用,為使用者操作非常大的資料儲存提供了乙個強大的解決方案。
innodb還引入了行級鎖定和外來鍵約束,在以下場合下,使用innodb是最理想的選擇:
更新密集的表。 innodb儲存引擎特別適合處理多重併發的更新請求。
事務。 innodb儲存引擎是支援事務的標準mysql儲存引擎。
自動災難恢復。 與其它儲存引擎不同,innodb表能夠自動從災難中恢復。
外來鍵約束。 mysql支援外來鍵的儲存引擎只有innodb。
支援自動增加列auto_increment屬性。
從5.7開始innodb儲存引擎成為預設的儲存引擎。
一般來說,如果需要事務支援,並且有較高的併發讀取頻率,innodb是不錯的選擇。
JS學習筆記(持續更新中)
為什麼要使用序列化了,不管是在接收後台資料還是前台向後台傳資料時,很多時候都需要使用序列化和反序列化。在向後台傳資料時,我們有時候需要使用 序列化,此時的str就是序列化後的字串 var str json stringify data 在接收後台資料時,我們可以通過反序列化來進行反序列化 var d...
指標學習筆記(持續更新)
question 1.什麼是指標?2.指標與引用的異同?何時使用指標,何時使用引用?1.c 提供兩種字串 string類物件和c風格的基於指標的char 字串。2.常量指標自身不可改變,而指向的目標可以改變。使用const修飾指標 指向非常量資料的非常量指標 如 int ptr 應用 間接引用指標使...
Linux學習筆記(持續更新)
1.開源軟體的優勢 使用的自由 絕大多數開源軟體免費 研究的自由 可以獲得軟體源 散布及改良的自由 可以自由傳播 改良甚至銷售 2.linux分割槽 必須分割槽 1.1 根分割槽 1.2 swap分割槽 交換分割槽,記憶體兩倍,不超過2g 推薦分割槽 boot 啟動分割槽,200mb 3.臨時改變i...