即使是一個開發工程師,也只是 MySQL 的用戶,但在瞭解了一個個系統模塊的原理後,再來使用它,感覺是完全不一樣的。 當在代碼里寫下一行資料庫命令的時候,就能想到它在資料庫端將怎麼執行,它的性能是怎麼樣的,怎樣寫能讓應用程式訪問資料庫的性能最高。進一步,哪些數據處理讓資料庫系統來做性能會更好,哪些數 ...
即使是一個開發工程師,也只是 MySQL 的用戶,但在瞭解了一個個系統模塊的原理後,再來使用它,感覺是完全不一樣的。
當在代碼里寫下一行資料庫命令的時候,就能想到它在資料庫端將怎麼執行,它的性能是怎麼樣的,怎樣寫能讓應用程式訪問資料庫的性能最高。進一步,哪些數據處理讓資料庫系統來做性能會更好,哪些數據處理在緩存里做性能會更好,心裡也會更清楚。在建表和建索引的時候,我也會更有意識地為將來的查詢優化做綜合考慮,比如確定是否使用遞增主鍵、主鍵的列怎樣選擇,等等。
所以需要系統的學習mysql,形成學習網路而不是只知道零散的知識點。可能一個業務開發人員用了兩三年 MySQL,還未必清楚那些自己一直在用的“最佳實踐”為什麼是最佳的。
看完這些需要輸出自己的mysql知識網路。