The Main Features of MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
云数据库 RDS PostgreSQL,高可用系列 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.

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
11月前
|
存储 人工智能 数据可视化
阿里云向量引擎快速搭建企业级RAG最佳实践
本文介绍了基于阿里云搭建RAG(检索增强生成)应用的技术分享。首先回顾了RAG技术背景及其面临的挑战,如大模型幻觉、知识局限和数据安全问题。接着详细讲解了阿里云提供的RAG技术架构,涵盖数据处理、模型服务和高性能检索引擎等多方面能力。最后,通过自研引擎与开源组件的结合,展示了如何快速构建RAG应用,并提供端到端的最佳实践方案,确保系统在企业级应用中的高效性和成本优化。
|
机器学习/深度学习 人工智能 自然语言处理
智能引领未来:精准选择与高效利用AI技术的实战指南
【7月更文第14天】在当今科技飞速发展的时代,人工智能(AI)已不再局限于科幻电影的想象,而是成为了推动各行各业革新升级的核心驱动力。从自动驾驶汽车到个性化推荐系统,从医疗诊断辅助到智能制造,AI正深刻改变着我们的生活和工作方式。然而,面对琳琅满目的AI技术和工具,如何精准选择并高效利用AI,成为企业和开发者亟需解决的关键问题。本文将为您揭示这一过程中的核心策略与实践技巧,并通过一个简单的代码示例,让您直观感受AI技术的魅力。
888 3
|
3天前
|
云安全 人工智能 自然语言处理
|
7天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
719 17
|
10天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
752 57
Meta SAM3开源:让图像分割,听懂你的话
|
8天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
329 116
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
AgentEvolver:让智能体系统学会「自我进化」
AgentEvolver 是一个自进化智能体系统,通过自我任务生成、经验导航与反思归因三大机制,推动AI从“被动执行”迈向“主动学习”。它显著提升强化学习效率,在更少参数下实现更强性能,助力智能体持续自我迭代。开源地址:https://github.com/modelscope/AgentEvolver
497 37

热门文章

最新文章