MySQL
基本上前端的职业发展走到后期,技能点自然而然会点到后端这块的。那么最主流的 MySQL 就是一个必须要熟悉的数据库。
MySQL
MySQL 是当下流行的关系数据库管理系统(Relational Database Management System, RDBMS),使用 C 和 C++ 语言编写而成。MySQL 支持多线程,可以充分利用CPU资源。
MySQL 基础知识
MySQL 基本操作
- 数据库和数据表的创建与查看
- 新增、修改、删除表数据
- MySQL 基础查询和
where
子查询 - MySQL
like
模糊查询 - MySQL 分组查询、聚合函数、排序查询
- MySQL 关联查询
- MySQL 子查询、多表查询
MySQL 基础函数
MySQL 高级查询函数
MySQL 数据表分区
MySQL 目前仅支持使用 InnoDB 和 NDB 存储引擎对数据表进行分区,不支持其他存储引擎。
使用分区的优点有:
- 数据表被分区后,其中的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备。
- 分区上的数据更容易维护。例如,想批量删除大量数据时,可以使用清楚整个分区的方式来处理。另外,还可以对一个独立分区进行优化、检查、修复等操作。
- 可以使用分区来避免某些特殊的瓶颈,例如 InnoDB 的单个索引的互斥访问。
- 在大数据集的应用场景下,可以备份和恢复独立的分区,这样能够更好地提高性能。
- 某些查询也可以被极大地优化,因为满足给定 where 子句的数据只能存储在一个或多个分区上,所以会自动搜索相关分区数据,而不是扫描所有的表数据。
- 由于在创建分区后可以更改分区,因此用户可以重新组织数据,提高查询效率。
MySQL 目前支持多种分区:
范围(range)分区:基于一个给定连续区间的列值,把区间列值对应的多行分配给分区。
列表(list)分区:类似范围分区,不同之处在于列表分区是根据列值域离散集合中的某个值的匹配来选择的。
列(column)分区:数据根据某个或多个列的值进行划分,是列表分区和范围分区的变体。
哈希(hash)分区:基于用户定义的表达式的返回值进行分区选择,该表达式使用将要插入表中的行的列值来进行计算。哈希函数可以包含在 MySQL 中有效且产生非负整数的表达式。
键(key)分区:类似哈希分区,区别在于键分区只支持计算一列或多列,并且 MySQL 服务器为此提供了自身的哈希函数。
子分区:又称复合分区,是对分区表中每个分区的进一步划分。