1) 功能强大
MySQL 中提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最高性能,可以处理每天访问量超过数亿的高强度的搜索 Web 站点。MySQL5 支持事务、视图、存储过程、触发器等。
2) 支持跨平台
MySQL 支持至少 20 种以上的开发平台,包括 Linux、Windows、FreeBSD 、IBMAIX、AIX、FreeBSD 等。这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何的修改。
3) 运行速度快
高速是 MySQL 的显著特性。在 MySQL 中,使用了极快的 B 树磁盘表(MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够极快地实现连接;SQL 函数使用高度优化的类库实现,运行速度极快。
4) 支持面向对象
PHP 支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面句对象与面向过程混合 3 种方式。
5) 安全性高
灵活和安全的权限与密码系统,允许基本主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码的安全。
6) 成本低
MySQL 数据库是一种完全免费的产品,用户可以直接通过网络下载。
7) 支持各种开发语言
MySQL 为各种流行的程序设计语言提供支持,为它们提供了很多的 API 函数,包括 PHP、ASPNET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl 语言等。
8) 数据库存储容量大
MySQL 数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由 MySQL 内部限制决定的。InnoDB 存储引擎将 InnoDB 表保存在一个表空间内,该表空间可由数个文件创建,表空间的最大容量为 64TB,可以轻松处理拥有上千万条记录的大型数据库。
9) 支持强大的内置函数
PHP 中提供了大量内置函数,几乎涵盖了 Web 应用开发中的所有功能。它内置了数据库连接、文件上传等功能,MySQL 支持大量的扩展库,如 MySQLi 等,可以为快速开发 Web 应用提供便利。
在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败,并产生错误信息。SQL Server对每个表中行的数量没有直接限制,但它受数据库存储空间的限制。每个数据库的最大空间1048516TB,所以一个表可用的最大空间为1048516TB减去数据库类系统表和其它数据库对象所占用的空间。
非root用户运行MySQL,当MySQL配置比较高时,MySQL运行中生效的参数值与配置的值不一样,所以具体分析一下MySQL是怎么调整这些参数值的。
这篇文章的目的是为了说明在系统资源不够的情况下,MySQL 是怎么调整者三个参数的。说明此文涉及到三个参数open_files_limit、 max_connections、 table_open_cache。与这三个参数相关的系统资源是打开文件数限制,即文件描述符(fd)限制。系统参数与文件描述符的关系 - max_connection & fd : 每一个MySQL connection 都需要一个文件描述符;
- table_open_cache & fd 打开一张表至少需要一个 文件描述符,如打开MyISAM需要两个fd ;
- 系统最大打开文件数可以通过 ulimit -n查看。MySQL调整参数的方式
根据配置(三个参数的配置值或默认值)计算 request_open_files(需要的文件描述符);
2获取有效的系统的限制值effective_open_files; 3根据effective_open_files调整request_open_files; 4根据调整后的request_open_files,计算实际生效的参数值(show variables 可查看参数值)。计算request_open_filesrequest_open_files有三个计算公式:1 // 最大连接数+同时打开的表的最大数量+其他(各种日志等等)2 limit_1= max_connections+table_cache_size 2 + 10;3 4 //假设平均每个连接打开的表的数量(2-4)5 //源码中是这么写的:6 //We are trying to allocate no less than 7 // max_connections5 file handles8 limit_2= max_connections 5;9 10 //mysql 默认的默认是500011 limit_3= open_files_limit open_files_limit : 5000;12 13 所以open_files_limit期待的最低14 request_open_files= max(limit_1,limit_2,limit_3);计算effective_open_files:MySQL 的思路:在有限值的的范围内MySQL 尽量将effective_open_files的值设大。修正request_open_files
requested_open_files= min(effective_open_files, request_open_files)
重新计算参数值
修正open_files_limitopen_files_limit = effective_open_files
修正max_connections
max_connections 根据 request_open_files 来做修正。1 limit = requested_open_files - 10 - TABLE_OPEN_CACHE_MIN 2;
如果配置的max_connections值大于limit,则将max_connections 的值修正为limit
其他情况下 max_connections 保留配置值
修正table_cache_size
table_cache_size 会根据 request_open_files 来做修正1 // mysql table_cache_size 最小值,4002 limit1 = TABLE_OPEN_CACHE_MIN3 // 根据 requested_open_files 计算4 limit2 = (requested_open_files - 10 - max_connections) / 25 limit = max(limit1,limt2);
如果配置的table_cache_size 值大于limit,则将 table_cache_size 的值修正为limit
其他情况下table_cache_size 保留配置值
举例
以下用例在非 root 用户下运行
参数设置:
//mysql
max_connections = 500
table_open_cache = 999//ulimit -n
1500
生效的值:
open_files_limit = 1500 max_connections = min[(1500 - 10 - 800),500] = 500
table_open_cache = ( 1500 - 10 - 500) / 2 =495
SQL Server 的每个数据库最多可存储 20 亿个表,每个表可以有 1024 列。
表的行数及总大小仅受可用存储空间的限制。每行最多可以存储 8,060 字节。
如果创建具有 varchar、nvarchar 或 varbinary 列的表,并且列的字节总数超过 8,060 字节,虽然仍可以创建此表,但会出现警告信息。
如果试图插入超过 8,060 字节的行或对行进行更新以至字节总数超过 8,060,
将出现错误信息并且语句执行失败。
MySQL 322限制的表大小为4GB。由于在MySQL 323中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。
InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。
在下面的表格中,列出了一些关于 *** 作系统文件大小限制的示例。这仅是初步指南,并不是最终的。要想了解最新信息,请参阅关于 *** 作系统的文档。
*** 作系统
文件大小限制
Linux 22-Intel 32-bit
2GB (LFS: 4GB)
Linux 24+
(using ext3 filesystem) 4TB
Solaris 9/10
16TB
NetWare w/NSS filesystem
8TB
win32 w/ FAT/FAT32
2GB/4GB
win32 w/ NTFS
2TB(可能更大)
MacOS X w/ HFS+
2TB
MySQL 322版最大表尺寸限制为4GB(4 gigabyte)。MySQL 323版本使用MySQL表格式,此限制则为800TB(2^63字节)的庞大规模!!800TB是一个什么量级概念?实际比较下Yahoo庞大的搜索引擎数据库目前仍没有(绝不可能)超过过30TB,那么我们就算作30TB,这就是说MySQL单个表格体积的大小约等于yahoo搜索引擎数据库的267倍!
以上就是关于mysql的特点是什么全部的内容,包括:mysql的特点是什么、mysql数据库支持多少条数据、如何修改MySQL导入数据库文件最大限制2048KB的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)