資料庫優化注意事項

2021-08-22 19:24:46 字數 585 閱讀 1550

基於hibernate

customer order表

1.乙個order中有乙個customer單項多對一(n-1)先儲存一再儲存多,因為這樣再儲存多的時候外鍵值已經確定,這時候時多的一方維護外來鍵,再儲存order時會帶著儲存外來鍵的customerid,可以不用在update n中的外來鍵,

2.乙個customer中有多個order這個時候由一的一方維護外來鍵,儲存order時不會跟新外來鍵customerid,所以無論哪個先儲存都會跟新order中的外來鍵

3.乙個order中有乙個customer+乙個customer中有多個order雙向一對多的時候,這個時候雙方都會維持外來鍵,注意這個時候兩個表的外來鍵需要一致,order中的外來鍵是customerid,cuntomer表中的外來鍵也是cuntomerid,也就是自己的主鍵

4.雙向一對一的時候,也放棄一方不維護外來鍵關係,這個時候需要外來鍵unique=true,也是先儲存不維護關係的那一方,理由同上。但是再取值的時候有問題

5.多對多

寫的有點難懂,sorry

資料庫注意事項

主要就是6點 1.必須考慮業務唯一性並建復合唯一索引 2.所有字段盡量設定為not null 3.區分度低的字段不要建索引 4.邏輯外來鍵要建索引 5.用uuiddelete id varchar 32 not null default 做偽刪除 6.建議確定無負數的字段設定unsigned 建表時...

資料庫注意事項

索引會佔據瓷盤空間,資料越大索引佔據空間越大 mysql表中除了聚集索引外其他索引都是輔助索引 secondary index,也稱為非聚集索引 與聚集索引的區別是 輔助索引的葉子節點不包含行記錄的全部資料。聚焦索引 更適合between and和order by操作,每個表只能建立乙個聚焦索引 如...

MySql資料庫索引優化注意事項

設計好mysql的索引可以讓你的資料庫飛起來,大大的提高資料庫效率。設計mysql索引的時候有一下幾點注意 1,建立索引 對於查詢佔主要的應用來說,索引顯得尤為重要。很多時候效能問題很簡單的就是因為我們忘了新增索引而造成的,或者說沒有新增更為有效的索引導致。如果不加索引的話,那麼查詢任何哪怕只是一條...