• 1.2.2 MySQL的主要功能


     

    本节描述了MySQL数据库软件的一些重要特征。在大多数方面,该路线图适用于所有版本的MySQL。有关特定于系列的MySQL中引入的功能的信息,请参见相应手册的 “ 简而言之 ”一节:

    内部和便携性

    • 用C和C ++编写。

    • 经过广泛的不同编译器测试。

    • 可在许多不同平台上使用。参见 https://www.mysql.com/support/supportedplatforms/database.html

    • 为了便于移植,请使用CMake进行配置

    • 已通过Purify(商用内存泄漏检测器)以及GPL工具Valgrind(http://developer.kde.org/~sewardj/)进行了测试。

    • 使用具有独立模块的多层服务器设计。

    • 设计为使用内核线程完全多线程,可以轻松使用多个CPU(如果有)。

    • 提供事务性和非事务性存储引擎。

    • 使用MyISAM索引压缩非常快的B树磁盘表()。

    • 旨在使其相对容易地添加其他存储引擎。如果要为内部数据库提供SQL接口,这将很有用。

    • 使用非常快速的基于线程的内存分配系统。

    • 使用优化的嵌套循环联接执行非常快速的联接。

    • 实现内存中的哈希表,用作临时表。

    • 使用应该尽可能快的高度优化的类库来实现SQL函数。通常,查询初始化后根本没有内存分配。

    • 提供服务器作为在客户端/服务器网络环境中使用的单独程序,以及作为可嵌入(链接)到独立应用程序中的库。此类应用程序可以隔离使用,也可以在没有网络可用的环境中使用。

    资料类型

    陈述和功能

    • 查询SELECT列表和 WHERE子句中的 完全运算符和函数支持 例如:

      mysql> SELECT CONCAT(first_name, ' ', last_name)
          -> FROM citizen
          -> WHERE income/dependents > 10000 AND age > 30;
    • 完全支持SQL GROUP BY和 ORDER BY子句。支持基函数(COUNT(), AVG(), STD(), SUM(), MAX(), MIN(),和 GROUP_CONCAT())。

    • 支持LEFT OUTER JOIN和 支持RIGHT OUTER JOIN标准SQL和ODBC语法。

    • 支持标准SQL要求的表和列别名。

    • 支持DELETE, INSERT, REPLACE,和 UPDATE以返回更改(受影响)的行数,或返回通过连接到服务器时设置标志,而不是匹配的行的数量。

    • 支持特定于MySQL的SHOW 语句,该语句检索有关数据库,存储引擎,表和索引的信息。支持 INFORMATION_SCHEMA数据库,根据标准SQL实现。

    • 一个EXPLAIN语句来显示优化器如何解决一个查询。

    • 函数名称与表或列名称的独立性。例如,ABS是一个有效的列名。唯一的限制是对于函数调用,函数名称和其后的“ (之间不允许有空格 请参见 第9.3节“关键字和保留字”

    • 您可以在同一条语句中引用来自不同数据库的表。

    安全

    • 特权和密码系统,非常灵活和安全,并且可以进行基于主机的验证。

    • 连接到服务器时,通过对所有密码通信进行加密来实现密码安全。

    可扩展性和限制

    • 支持大型数据库。我们将MySQL Server与包含5000万条记录的数据库一起使用。我们也知道使用MySQL Server的用户有200,000个表和大约5,000,000,000行。

    • 每个表最多支持64个索引。每个索引可以包含1到16列或部分列。InnoDB的最大索引宽度为767字节或3072字节。请参见第15.22节“ InnoDB限制”MyISAM的最大索引宽度为 1000字节。请参见 第16.2节“ MyISAM存储引擎”索引可使用的柱的前缀CHAR, VARCHAR, BLOB,或 TEXT列类型。

    连接性

    • 客户端可以使用多种协议连接到MySQL Server:

      • 客户端可以在任何平台上使用TCP / IP套接字进行连接。

      • 在Windows系统上,如果服务器在named_pipe启用系统变量的情况下启动,则客户端可以使用命名管道进行连接 如果在shared_memory启用系统变量的情况下启动,Windows服务器也支持共享内存连接 客户端可以使用该--protocol=memory选项通过共享内存进行连接 

      • 在Unix系统上,客户端可以使用Unix域套接字文件进行连接。

    • MySQL客户端程序可以用多种语言编写。用C编写的客户端库可用于用C或C ++编写的客户端,或提供C绑定的任何语言的客户端。

    • 提供了C,C ++,Eiffel,Java,Perl,PHP,Python,Ruby和Tcl的API,使MySQL客户端可以用多种语言编写。请参见第28章,连接器和API

    • 连接器/ ODBC(MyODBC)接口为使用ODBC(开放数据库连接)连接的客户端程序提供MySQL支持。例如,您可以使用MS Access连接到MySQL服务器。客户端可以在Windows或Unix上运行。连接器/ ODBC源可用。支持所有ODBC 2.5功能,以及许多其他功能。参见《 MySQL Connector / ODBC开发人员指南》

    • Connector / J接口为使用JDBC连接的Java客户端程序提供MySQL支持。客户端可以在Windows或Unix上运行。连接器/ J源可用。参见《 MySQL Connector / J 5.1开发人员指南》

    • MySQL Connector / NET使开发人员可以轻松创建需要与MySQL安全,高性能数据连接的.NET应用程序。它实现了必需的ADO.NET接口,并集成到ADO.NET感知工具中。开发人员可以使用他们选择的.NET语言来构建应用程序。MySQL Connector / NET是用100%纯C#编写的完全托管的ADO.NET驱动程序。参见《 MySQL Connector / NET开发人员指南》

    本土化

    • 服务器可以用多种语言向客户端提供错误消息。请参见第10.12节“设置错误消息语言”

    • 几个不同的字符集,包括全面支持 latin1(CP1252) ,german, big5ujis一些Unicode字符集等。例如,在表名和列名中允许使用斯堪的纳维亚字符“ å, “ ä和 “ ö

    • 所有数据都保存在所选字符集中。

    • 排序和比较是根据默认字符集和排序规则完成的。可以在启动MySQL服务器时更改此设置(请参见 第10.3.2节“服务器字符集和排序规则”)。要查看非常高级的排序示例,请查看Czech排序代码。MySQL Server支持许多不同的字符集,可以在编译时和运行时指定它们。

    • 服务器时区可以动态更改,并且各个客户端可以指定自己的时区。请参见 第5.1.14节“ MySQL服务器时区支持”

    客户和工具

    • MySQL包括几个客户端程序和实用程序。这些包括命令行程序(例如 mysqldump和 mysqladmin)以及图形程序(例如 MySQL Workbench)

    • MySQL Server内置了对SQL语句的支持,以检查,优化和修复表。这些语句可通过 mysqlcheck客户端从命令行使用MySQL还包括 myisamchk,这是一个非常快的命令行实用程序,用于在MyISAM 表上执行这些操作请参阅第4章,MySQL程序

    • 可以使用--help 或-?选项调用MySQL程序以获得在线帮助。

  • 相关阅读:
    redis持久化方案之RDB
    redis实现分布式锁
    redis数据类型(图解)
    js上拉加载
    apicloud直接上传图片
    layer.confirm
    json数组去重
    js解决手机键盘影响定位的问题
    click禁用事件
    ipcloud上传裁切图片,保存为base64再压缩传给后台
  • 原文地址:https://www.cnblogs.com/owlin/p/13719069.html
Copyright © 2020-2023  润新知