Introduction to VPS and Web Technology Development

MySQL的主要特性

自由vps mysql8手册

本节介绍MySQL数据库软件的一些重要特性。在大多数方面,路线图适用于所有版本的MySQL。关于MySQL在特定系列基础上引入的特性的信息,请参见相应手册的“简而言之”部分:

MySQL 8.0: 1.3节,“MySQL 8.0的新特性”

MySQL 5.7: MySQL 5.7的新特性

MySQL 5.6:什么是新的MySQL 5.6

内部结构和可移植性

用C和c++写的。

用各种不同的编译器进行测试。

可以在许多不同的平台上工作。见https://www.mysql.com/support/supportedplatforms/database.html

为了可移植性,使用CMake配置。

用Purify(一个商业内存泄漏检测器)和Valgrind(一个GPL工具)进行测试(http://developer.kde.org/~sewardj/)。

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

设计为使用内核线程的完全多线程,方便地使用多个cpu(如果它们可用的话)。

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

使用非常快速的B-tree磁盘表(MyISAM)和索引压缩。

设计的目的是使添加其他存储引擎相对容易。如果您想为内部数据库提供SQL接口,这是非常有用的。

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

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

实现内存中的哈希表,这些哈希表被用作临时表。

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

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

数据类型

许多数据类型:有符号/无符号整数1、2、3、4和8字节长、FLOAT、DOUBLE、CHAR、VARCHAR、BINARY、VARBINARY、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、ENUM和OpenGIS空间类型。参见第11章,数据类型。

固定长度和可变长度的字符串类型。

语句和函数

查询的SELECT列表和WHERE子句中提供完整的操作符和函数支持。例如:

mysql> SELECT CONCAT(first_name, ' last_name ')

- >从公民

->,其中收入/受养人> 10000及年龄> 30;

完全支持SQL GROUP BY和ORDER BY子句。支持组函数(COUNT(), AVG(), STD(), SUM(), MAX(), MIN(),和GROUP_CONCAT())。

使用标准SQL和ODBC语法支持左外连接和右外连接。

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

支持删除、插入、替换和更新,以返回被更改(受影响)的行数,或者在连接到服务器时通过设置标志返回匹配的行数。

支持特定于mysql的SHOW语句,这些语句检索有关数据库、存储引擎、表和索引的信息。支持INFORMATION_SCHEMA数据库,按照标准SQL实现。

说明优化器如何解析查询的EXPLAIN语句。

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

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

安全

一种非常灵活和安全的特权和密码系统,支持基于主机的验证。

密码安全是当你连接到一个服务器时,对所有的密码流量进行加密。

可伸缩性和限制

支持大型数据库。我们使用MySQL服务器,数据库包含5000万条记录。我们也知道使用MySQL服务器的用户有20万个表和大约50亿行。

支持每个表最多64个索引。每个索引可以由1到16列或部分列组成。InnoDB表的最大索引宽度是767字节或3072字节。参见第15.22节“InnoDB限制”。MyISAM表的最大索引宽度是1000字节。参见16.2节“MyISAM存储引擎”。索引可以为CHAR、VARCHAR、BLOB或文本列类型使用列的前缀。



连接

客户端可以连接到MySQL服务器使用几种协议:

客户端可以在任何平台上使用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客户端可以用多种语言编写。参见第29章,连接器和api。

Connector/ODBC (MyODBC)接口为使用ODBC(开放数据库连接)连接的客户端程序提供了MySQL支持。例如,您可以使用MS Access来连接MySQL服务器。客户端可以在Windows或Unix上运行。Connector/ODBC源是可用的。所有ODBC 2.5函数都受到支持,其他许多函数也是如此。参见MySQL Connector/ODBC开发指南。

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

MySQL Connector/NET使开发人员能够轻松创建。NET应用程序,这些应用程序需要与MySQL进行安全、高性能的数据连接。它实现了所需的ADO。NET接口并集成到ADO中。净意识的工具。开发人员可以使用他们所选择的。net语言构建应用程序。MySQL Connector/NET是一个完全托管的ADO。NET驱动程序写在100%纯c#。参见MySQL Connector/NET开发指南。

本地化

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

完全支持几种不同的字符集,包括latin1 (cp1252)、german、big5、ujis、几种Unicode字符集等等。例如,表和列名中允许使用斯堪的纳维亚字符“a”、“a”和“o”。

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

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

服务器时区可以动态更改,各个客户机可以指定自己的时区。参考章节5.1.15“MySQL服务器时区支持”。

客户和工具

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

MySQL服务器内置支持SQL语句来检查、优化和修复表。这些语句可以通过mysqlcheck客户端从命令行获得。MySQL还包括myisamchk,这是一个非常快速的命令行工具,用于在MyISAM表上执行这些操作。参见第4章,MySQL程序。

MySQL程序可以用——help或-?选择获取在线帮助。

使用chatGPT寻求答案
标签: 暂无标签

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:master@freevpsweb.com

同类推荐
评论列表