什么是MySQL:
- 设计为使用内核线程完全多线程,以便在可用时轻松使用多个CPU。
- 提供事务性和非事务性存储引擎。 注:提供了事物,锁机制
- 使用MyISAM具有索引压缩的非常快速的B树磁盘表()。
- 实现内存中的哈希表,用作临时表 注:多表查询创建的临时表是用哈希!
- 使用应尽可能快的高度优化的类库实现SQL函数。通常在查询初始化之后根本没有内存分配
- 将服务器作为单独的程序提供,用于客户端/服务器网络环境,以及作为可嵌入(链接)到独立应用程序的库。此类应用程序可以单独使用,也可以在没有网络的环境中使用。
限制:
- 200,000个表和大约5,000,000,000行
- 每个表最多支持64个索引。每个索引可以包含1到16列或部分列。InnoDB表的最大索引宽度为767字节或3072字节
- 存储过程:CREATE PROCEDURE使用该CALL语句创建并调用的对象 。过程没有返回值,但可以修改其参数以供调用者稍后检查。它还可以生成要返回给客户端程序的结果集。
- 存储函数:CREATE FUNCTION使用内置函数创建并使用的对象 。您在表达式中调用它,并在表达式求值期间返回一个值
- 触发器:使用该对象创建的对象CREATE TRIGGER与表关联。当表发生特定事件(例如插入或更新)时,将激活触发器。
- 事件:CREATE EVENT根据计划由服务器创建和调用的对象。
- 视图:使用该对象创建的对象CREATE VIEW生成结果集。视图充当虚拟表。