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字节