MySQL是單程序多執行緒模型,一個SQL語句無法利用多個cpu core去執行,這也就決定了MySQL比較適合OLTP(特點:大量使用者訪問、邏輯讀,索引掃描,返回少量資料,SQL簡單)業務系統
key、 unique key、primary key:https://blog.csdn.net/nanaMasuda/article/details/52543177
sql語句執行順序
(8) SELECT (9)DISTINCT<Select_list>
(1) FROM <left_table> (3) <join_type>JOIN<right_table>
(2) ON<join_condition>
(4) WHERE<where_condition>
(5) GROUP BY<group_by_list>
(6) WITH {CUBE|ROLLUP}
(7) HAVING<having_condtion>
(10) ORDER BY<order_by_list>
(11) LIMIT<limit_number>
注:order by 、limit 最後
資料庫設計
專案開發過程中進行資料庫表設計,可以按照以下思路:
1、資料庫選型
-
關係型資料庫:MySQL
-
非關係型資料庫(NoSQL):MongoDB、Redis(key-value)
-
分散式關聯式資料庫:ES(儲存檔案,用來在海量的資料中進行快速的全文搜尋和分析)
2、資料庫設計
- 庫表設計(欄位):需要幾張表、有哪些欄位
- 索引設計:1.哪些欄位加索引、索引怎麼加
- 經常查詢的列建立索引key
- 約束(唯一性),即哪些欄位可以加唯一索引
- 快取:經常使用的(熱資料)存到本地快取中,提高訪問速度。
- MySql存放資料的最大長度:65535位元組