mysql 独有的特性?

作者&投稿:前怎 (若有异议请与网页底部的电邮联系)
mysql主要技术特点~

MySQL技术特点
(1)它使用的核心线程是完全多线程,支持多处理器。
(2)有多种列类型:1、2、3、4和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR和ENUM类似。
(3)它通过一个高度化的类库实现SQL函数库并像其一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。
(4)全面支持SQL的GROUP BY 和ORDER BY 子句,支持聚合函数(COUNTO()、AVG()、STD()、SUM() 、MAX()和MIN()。你可以在同一查询中来自不同数据库的表。
(5)支持ANSI SQL的LEFTOUTER JON和ODBC。
(6)所有列都有默认值。你可以用INSERT插入一个表列的子集,那些没有明确给定值的列设置为他们的默认值。
(7)MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCLAPI。
(8)利用优化的一遍扫描多重连接(one-sweepmulti-join)工具可以非常快速地进行网络连接。
(9)通过高度优化的类库实现SQL函数库,通常在查询初始化后没有任何内存分配。
(10)可以在同一查询中混用来自不同数据库的表。
(11)灵活且安全的权限和口令系统,并且准许其他主机的认证,口令有较高的安全性,因为当与一个服务器连接时,所有传送的口令都会被加密。
(12)大数据库处理。可以对某些包含50,000,000个记录的数据库使用MySQL。
(13)没有内存漏洞。

(14)所有MySQL程序可以使用“##help"或“_?”选项获得联机帮助。
(15)服务器能为客户提供多种语言的出错信息。
(16)客户端使用TCP/IP连接或Linux(Socket)和NT下的命令管道连接MySQL。
(17)MySQL特有的show命令可用来检索数据库表和索引的信息,explain命令可用来确定优化器如何解决一个查询。

增加了一个线程事件处理层
支持auth-response改变
新增了timing infrastruture
新增了out-of-tree plugins build和pkg-config的支持
以及一些bug的修复
……


MySQL Proxy还支持嵌入性脚本语言Lua。这个代理可以用来分析、监控和变换(transform)通信数据,它支持非常广泛的使用场景:

负载平衡和故障转移处理
查询分析和日志
SQL宏(SQL macros)
查询重写(query rewriting)
执行shell命令
MySQL Proxy更强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。

MySQL的一些特点

1. 使用核心线程的完全多线程。这意味着它能很容易地利用多CPU(如果有)。

2. 支持C 、C++、 Eiffel 、 Java、 Perl、 PHP、Python、和 TCL API等客户工具和 API。

3. 可运行在不同操作系统平台上。

4. 支持多种列类型:1、 2、 3、4、和 8 字节长度的有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、SET和ENUM类型。

5. 利用一个优化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结(join)。

6. 在查询的SELECT和WHERE部分支持全部运算符和函数,例如:

mysql> SELECT CONCAT(first_name, " ", last_name) FROM tbl_name

WHERE income/dependents > 10000 AND age > 30;

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

8. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数( COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、 MAX()和MIN() )。

9. 支持ANSI SQL的LEFT OUTER JOIN和ODBC语法,你可以在同一查询中混用来自不同数据库的表。

10. 一个非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。口令是安全的,因为当与一个服务器连接时,所有的口令传送被加密。

11. ODBC for Windiws 95。所有的 ODBC 2 . 5 函数和其他许多函数。例如,你可以用Access连接你的 MySQL服务器,具备索引压缩的快速B树磁盘表。

12. 每个表允许有16个索引。每个索引可以由1~16个列或列的一部分组成。最大索引长度是 256 个字节(在编译MySQL时,它可以改变)。一个索引可以使用一个CHAR或VARCHAR字段的前缀。

13. 定长和变长记录。用作临时表的内存散列表。

14. 大数据库处理。我们正在对某些包含 50,000,000 个记录的数据库使用MySQL。

15. 所有列都有缺省值,你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的缺省值。为了可移植性使用 GNU Automake , Autoconf 和libtool。

16. 用C和C++编写,并用大量不同的编译器测试,一个非常快速的基于线程的内存分配系统。

17. 全面支持ISO-8859-1 Latin1 字符集。例如,斯堪的纳维亚的字符 @ringaccent{a}, @"a and @"o 在表和列名字被允许。

18. 表和列的别名符合 SQL92 标准。

19. 函数名不会与表或列名冲突。例如ABS是一个有效的列名字。

20. 客户端使用TCP/IP 连接或Unix套接字(socket)或NT下的命名管道连接MySQL。

21. MySQL特有的SHOW命令可用来检索数据库、表和索引的信息,EXPLAIN命令可用来确定优化器如何解决一个查询。

以上来自网络,我自己感觉的话有:
1、轻量级、体积小
2、可嵌入
3、支持多重存储引擎
4、开源
5、适用海量查询、PHP等网站开发支持最好了,建站首选。

MySQL是一个关系型数据库管理系统

1. 它使用的核心线程是完全多线程,支持多处理器。
2. 有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。

3. 它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。

4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。

5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。

6. 所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。

7. MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。

楼上的说的太复杂了,我总结一点实际的:
mysql简洁好用,体积小,功能大,稳定性也不错,常规性能应用都能就会起来,尤其是在WEB应用上面非常好,缺点也是有的,复杂语法不支持,即使有些支持,效率也不怎么好,事务功能虽有,但不好用,管理界面只能借助与第三方的如pma,nC等

1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 ;
2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 ;
3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 ;
4.支持多线程,充分利用CPU资源 ;
5.优化的SQL查询算法,有效地提高查询速度 ;
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名;
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 ;
8.提供用于管理、检查、优化数据库操作的管理工具 ;
9.可以处理拥有上千万条记录的大型数据库。