Mysql5.7 的一些特点

来源:互联网 发布:怎么下载网络倾听者app 编辑:程序博客网 时间:2024/06/05 18:29

1.内部以及便捷性
1.1 Written in C and C++
意思是Mysql数据管理系统底层是C/C++,也就是说Mysql是用C/C++开发的。 想了想为什么不用Java编写?或许C语言作为母语言,兼容几乎所有的操作系统,所以说使得Mysql可以跨多平台使用。虽然Java也是跨平台语言,但是Java毕竟还是需要JDK。而C语言,用记事本就能编写,只要你有对应IDE就能执行。(其实只要改了扩展名,也能用记事本编写Java)

1.2 Tested with a broad range of different compilers
意思是Mysql在大量广泛的编译器上进行过测试。

1.3 Works on many different platforms
可以在许多不同平台使用。这个从是用C/C++编写的就能知道,其可以跨多平台使用的特点。

1.4 Uses CMake in MySQL 5.5 and up
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。
1.5 Uses multi-layered server design with independent modules
使用具有独立模块的多层服务器设计
1.6 Designed to be fully multi-threaded using kernel threads, to easily use multiple CPUs if they are available.
设计使用内核线程的完全多线程,如果合适的话,可以轻松使用多个CPU。意思是如果你有多个CPU,Mysql可以轻松使用多个CPU(中央处理器)

1.7 Provides transactional and nontransactional storage engines
提供事务性和非事务性的存储引擎,事务性表的特征在于将批处理当做一个完整的任务统一执行或回滚,也就是说sql语句要么全部执行,要么全部不执行。而非事务性表,则是自上从下,一个语句一个语句的执行,遇到错误将停止操作。事务性表的优点在于在执行操作时如果遇到不可抗力导致操作突然停止,可以事后找回原数据。而非事务性表改变了数据将是永久性的。但是非事务性表的优点在于所需存储空间小,快。事务性表为什么可以回滚,找回原数据,个人理解可能是事务表在存储时进行复制,对事务表的执行可能是镜像表,并非原表。而非事务表,则是对原表进行操作,所以也就解释了为什么非事务表所需存储空间小,因为它不需要进行复制,直接对原表进行操作。

1.8 Uses very fast B-tree disk tables (MyISAM) with index compression
底层索引数据结构是B-tree,多路搜索树。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。一般在数据库的索引中,采用B-tree的综合效率高。

1.9 Designed to make it relatively easy to add other storage engines. This is useful if you want to provide an SQL interface for an in-house database
旨在相对容易添加其他存储引擎。如果要为内部数据提供一个SQL接口,这将非常有用。 Mysql的存储引擎接口定义良好,可以添加自定义的存储引擎。

1.10 Uses a very fast thread-based memory allocation system
使用非常快的基于线程的内存分配系统。

1.11 Executes very fast joins using an optimized nested-loop join
使用优化的嵌套循环连接执行非常快速的连接,也就是连接数据库的速率很快。

1.12 Implements in-memory hash tables, which are used as temporary tables
实现内存中的哈希表,用作临时表
1.13 Implements SQL functions using a highly optimized class library that should be as fast as possible.Usually there is no memory allocation at all after query initialization
实现SQL函数使用一个高度优化类库,应尽可能的快。通常在查询初始化后没有分配内存。

1.14 Provides the server as a separate program for use in a client/server networked environment, and as a library that can be embedded (linked) into standalone applications. Such applications can be used in isolation or in environments where no network is available.
提供服务器作为一个单独的程序用于在客户机/服务器网络环境中,作为一个库,可以嵌入(链接)到独立的应用程序中。这种应用程序可以单独使用,也可以在没有网络可用的环境中使用

0 0
原创粉丝点击