欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL 的主要特性

程序员文章站 2022-05-29 11:35:35
...

MySQL 一些重要的特性: 使用核心线性的完全多线性。这意味着它能很容易地利用多 CPU(如果有)。 C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL API。见20 MySQL 用户端工具和 API。 可运行在不同的平台上,见 4.2 MySQL 支援的操作系统。 多种列

MySQL 一些重要的特性:

  • 使用核心线性的完全多线性。这意味着它能很容易地利用多 CPU(如果有)。
  • C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL API。见20 MySQL 用户端工具和 API。
  • 可运行在不同的平台上,见 4.2 MySQL 支援的操作系统。
  • 多种列类型:1、2、3、4、和 8 字节长度的有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET 和 ENUM 类型。
  • 利用一个最佳化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结 (join)。
  • 在查询的 SELECT 和 WHERE 部分支援全部运算子和函数,例如:

    mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name WHERE income/dependents > 10000 AND age > 30;

  • 通过一个高度最佳化的类程式库实现 SQL 函数库并且像他们能达到的一样快速,通常在查询初始化后不应该有任何内存分配。

  • 全面支援 SQL 的 GROUP BY 和 ORDER BY 子句,支援聚合函数 (COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX() 和 MIN() )。
  • 支援 ANSI SQL 的 LEFT OUTER JOIN 和 ODBC 语法。
  • 你可以在同一查询中混用来自不同资料库的表。
  • 一个非常灵活且安全的权限和密码系统,并且它允许根据主机的认证。密码是安全的,因为当与一个服务器连接时,所有的密码传送被加密。
  • ODBC for Win32。所有的 ODBC 2.5 函数和其他许多函数。例如,你可以用 Access 连接你的 MySQL 服务器。
  • 具备索引压缩的快速 B 树表。
  • 每个表允许有 16 个索引。每个索引可以由 1~16 个列或列的一部分组成。最大索引长度是 256 个字节(在编译 MySQL 时,它可以改变)。
  • 一个索引可以使用一个 CHAR 或 VARCHAR 字段的前码。
  • 固定长度和可变长度记录。
  • 用作临时表的内存散列表。
  • 大资料库处理。我们正在对某些包含 50,000,000 个记录的资料库使用 MySQL。
  • 所有列都有缺省值,你可以用 INSERT 插入一个表列的子集,那些没用明确给定值的列设置为他们的缺省值。
  • 为了可移植性使用 GNU Automake , Autoconf 和 libtool。
  • 用 C 和 C++ 编写,并用大量不同的编译器测试。
  • 一个非常快速的线性的记忆体分配系统。
  • 没有内存漏洞。用一个商用内存漏洞监测程序测试过 (purify)。
  • 包括 myisamchk,一个检查、最佳化和修复资料库表的快速实用程序。
  • 全面支援 ISO-8859-1 Latin1 字符集。例如,斯堪的纳维亚的字符 a, a and o 在表和列名字被允许。
  • 所有资料以 ISO-8859-1 Latin1 格式保存。所有正常的字符串比较是忽略大小写的。
  • 根据 ISO-8859-1 Latin1 字符集进行排序 (目前瑞典语的方式)。通过在源程式中增加排序顺序数组可以改变它。为了理解一个更高级的排序例子,看一看捷克语的排序程式。 MySQL支援可在编译时指定的很多不同的字符集。
  • 表和列的别名符合 SQL92 标准。
  • DELETE、INSERT、REPLACE 和 UPDATE 返回有多少行被改变(受影响)。
  • 函数名不会与表或列名冲突。
  • 服务器能为用户端提供多种语言的出错消息。
  • 用户端端使用 TCP/IP 连接或 Unix 套接字(socket)或 NT 下的命名管道连接 MySQL。
  • MySQL 特有的 SHOW 命令可用来检索资料库、表和索引的信息,EXPLAIN 命令可用来确定最佳化器如何解决一个查询。