The Main Features of MySQL

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 1、Internals and Portability Written in C and C++.用C和C++写就。Tested with a broad range of different compilers.通过大量不同的编译器测试。

1、Internals and Portability

Written in C and C++.用C和C++写就。
Tested with a broad range of different compilers.通过大量不同的编译器测试。
Works on many different platforms。适用于多种不同平台。
For portability, uses CMake in MySQL 5.5 and up. Previous series use GNU Automake, Autoconf, and Libtool.可移植性。
Designed to be fully multi-threaded using kernel threads, to easily use multiple CPUs if they are available. 多线程支持
Provides transactional and nontransactional storage engines.支持事务和非事务存储引擎。
Uses very fast B-tree disk tables (MyISAM) with index compression.
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.
Uses a very fast thread-based memory allocation system.
Executes very fast joins using an optimized nested-loop join.
Implements in-memory hash tables, which are used as temporary tables.
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.
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.

2、Data Types

Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long,  FLOAT , DOUBLE CHAR VARCHAR BINARY VARBINARY TEXT BLOB DATE TIME , DATETIME TIMESTAMP YEAR SET ENUM , and OpenGIS spatial types. 
Fixed-length and variable-length string types.

3、Statements and Functions

Full operator and function support in the  SELECT  list and WHERE  clause of queries. 
Full support for SQL GROUP BY  and ORDER BY  clauses. Support for group functions ( COUNT() AVG() STD() SUM() MAX() MIN() , and  GROUP_CONCAT() ).
Support for LEFT OUTER JOIN  and RIGHT OUTER JOIN  with both standard SQL and ODBC syntax.
Support for aliases on tables and columns as required by standard SQL.
Support for  DELETE INSERT REPLACE , and  UPDATE  to return the number of rows that were changed (affected), or to return the number of rows matched instead by setting a flag when connecting to the server.
Support for MySQL-specific  SHOW  statements that retrieve information about databases, storage engines, tables, and indexes. Support for theINFORMATION_SCHEMA  database, implemented according to standard SQL.
An  EXPLAIN  statement to show how the optimizer resolves a query.
Independence of function names from table or column names.
You can refer to tables from different databases in the same statement.

4、Security

A privilege and password system that is very flexible and secure, and that enables host-based verification.

Password security by encryption of all password traffic when you connect to a server.

5、Scalability and Limits

Support for large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 200,000 tables and about 5,000,000,000 rows.

Support for up to 64 indexes per table. Each index may consist of 1 to 16 columns or parts of columns. The maximum index width is 767 bytes for InnoDB  tables, or 1000 for MyISAM . An index may use a prefix of a column for  CHAR VARCHAR BLOB , or  TEXT  column types.

6、Connectivity

Clients can connect to MySQL Server using several protocols:

  • Clients can connect using TCP/IP sockets on any platform.

  • On Windows systems, clients can connect using named pipes if the server is started with the --enable-named-pipe option. Windows servers also support shared-memory connections if started with the --shared-memory option. Clients can connect through shared memory by using the --protocol=memory option.

  • On Unix systems, clients can connect using Unix domain socket files.

MySQL client programs can be written in many languages. A client library written in C is available for clients written in C or C++, or for any language that provides C bindings.

APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available, enabling MySQL clients to be written in many languages.

The Connector/ODBC (MyODBC) interface provides MySQL support for client programs that use ODBC (Open Database Connectivity) connections. For example, you can use MS Access to connect to your MySQL server. Clients can be run on Windows or Unix. Connector/ODBC source is available. All ODBC 2.5 functions are supported, as are many others.

The Connector/J interface provides MySQL support for Java client programs that use JDBC connections. Clients can be run on Windows or Unix. Connector/J source is available.

MySQL Connector/Net enables developers to easily create .NET applications that require secure, high-performance data connectivity with MySQL. It implements the required ADO.NET interfaces and integrates into ADO.NET aware tools. Developers can build applications using their choice of .NET languages. MySQL Connector/Net is a fully managed ADO.NET driver written in 100% pure C#. 

7、Localization

The server can provide error messages to clients in many languages.
Full support for several different character sets, including latin1  (cp1252), german big5 ujis , several Unicode character sets, and more.
All data is saved in the chosen character set.
Sorting and comparisons are done according to the chosen character set and collation (using latin1 and Swedish collation by default). It is possible to change this when the MySQL server is started. To see an example of very advanced sorting, look at the Czech sorting code. MySQL Server supports many different character sets that can be specified at compile time and runtime.
The server time zone can be changed dynamically, and individual clients can specify their own time zone.

8、Clients and Tools

MySQL includes several client and utility programs. These include both command-line programs such as  mysqldump  and  mysqladmin , and graphical programs such as  MySQL Workbench .
MySQL Server has built-in support for SQL statements to check, optimize, and repair tables. These statements are available from the command line through the  mysqlcheck  client. MySQL also includes myisamchk , a very fast command-line utility for performing these operations on MyISAM  tables. 
MySQL programs can be invoked with the --help  or -?  option to obtain online assistance.

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
925. 【mysql】convert 函数
925. 【mysql】convert 函数
250 3
你对MySQL的int(11)真的了解吗?
首先,需要明确的是,int(3)和int(11)都是表示整数类型,而不是定义整数的存储长度。在MySQL中,INT类型占据4个字节(32位),可以存储范围是-2^31到2^31-1(约-2.1亿到2.1亿),这个范围是固定的,不受括号中数字的影响。
352 3
你对MySQL的int(11)真的了解吗?
MySQL中find_in_set函数的使用
1.语法 FIND_IN_SET(str,strlist) (1)str 要查询的字符串 (2)strlist 字段名; 参数以”,”分隔 如 (1,2,6,8) 查询字段(strlist)中包含(str)的结果,返回结果为null或记录 假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist 为空字符串,则返回
1063 0
MySQL中find_in_set函数的使用
mysql中FIND_IN_SET和like的区别
在数据库中新建一张测试表t_user,包含三个字段'id','name','grilfriend',字段很容易看出,这是记录一个人的女朋友的表,注意这里的‘firlfriend’字段可以是多个人名,之间用逗号分开,如‘杨幂01,杨幂02’;这样的数据存储我们也经常见到。
324 0
mysql中FIND_IN_SET和like的区别
MySQL的find_in_set()函数
今天发现开发写的SQL中包含了find_in_set(),从来没见过,貌似挺有用的,了解一下
1926 0
MySQL8.0 - 新特性 - Functional Index
前言 MySQL8.0.13版本开始支持使用表达式或函数来作为索引键值,这使得索引的定义更加灵活,一些运算可以直接转移到索引上去。 实际上在之前的版本,我们也可以通过在generated column上创建索引的方式来实现类似功能, root@test 05:20:44>CREATE TABLE .
2743 0
EFCore.MySql当模型遇到int[]怎么办
我使用的是Pomole.EntityFrameworkCore.MySql 需要将旧项目中的excels表转成实体,其中有一列是json格式的int[] 当遇到第一张表的时候,我使用了这样的方法来读取 public string InternalData { get; set; } ...
1310 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等