首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库引擎和数据库驱动程序有什么区别?

问数据库引擎和数据库驱动程序有什么区别?
EN

Stack Overflow用户
提问于 2022-03-24 10:09:14
回答 1查看 178关注 0票数 -2

数据库引擎数据库驱动程序之间有什么区别?

数据库驱动程序用于连接数据库,任何类型的数据库,但是引擎是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-24 10:13:24

数据库是什么?

数据库是结构化信息或数据的有组织的集合,通常以电子方式存储在计算机系统中。通常,数据库由数据库管理系统(DBMS)控制。数据和DBMS以及与其相关的应用程序统称为数据库系统,通常缩写为简单的数据库。

当今最常用的数据库类型中的数据通常用作一系列表中的行和列结构,以提高数据处理和查询的效率。因此,可以方便地访问、管理、修改、更新、监测和组织数据。大多数数据库使用结构化查询语言(SQL)编写和查询数据。

什么是数据库引擎?

数据库引擎是特定的程序,专门作为数据库和使用它们的应用程序之间的中介,每个程序都完成特定的任务,从创建数据库到管理数据库的使用和访问。

什么是数据库控制器?

数据库驱动程序是允许您从应用程序中与数据库对话的软件。有一些特定于语言的驱动程序,如JDBC、ODBC、OLE DB,其中驱动程序接口是根据语言规范实现的,以便应用程序可以根据预定义的规范与数据库进行交互。

在MySQL和MariaDB中有两种类型的存储引擎:事务性和非事务性。

对于MySQL 5.5及更高版本,默认存储引擎是InnoDB。在5.5之前,MySQL的默认存储引擎是MyISAM。选择合适的存储引擎是影响未来发展的重要战略决策。在这篇文章中,我们将使用MyISAM、InnoDB、内存和CSV存储引擎。如果您是MySQL新手,并且正在研究MySQL和MariaDB数据库管理系统,这是一个重要的主题。如果您正在规划一个生产数据库,事情会变得更加复杂。

存储引擎列表

  • InnoDB :是使用最广泛的具有事务支持的存储引擎。这是一个耐酸的存储引擎。它支持行级锁定、故障转移和多版本并发控制.它是唯一提供外键引用完整性约束的引擎。甲骨文建议对表使用InnoDB,但专用用例除外.

  • MyISAM :是最初的存储引擎。这是一个快速存储引擎。它不支持事务。MyISAM提供表级锁定.它主要用于网络和数据warehousing.

。

  • Memory :在内存中创建表(因此名)。这是最快的引擎。提供表级锁定。它不支持事务。内存存储引擎是创建临时表或快速查找的理想工具。数据库重新启动时数据丢失。

  • CSV :将数据存储在CSV文件中。它提供了极大的灵活性,因为这种格式的数据很容易集成到其他applications.

中。

  • Merge :对底层MyISAM表进行操作。合并表有助于更容易地管理大量数据。它在逻辑上对许多相同的MyISAM表进行分组,并将它们作为单个对象引用。这是数据仓库environments.

的一个很好的选择。

  • The存档:存储引擎是为高速插入优化的.它在插入数据时对数据进行压缩。它不支持事务。它非常适合存储和检索很少引用的大量存档历史数据。

  • The黑洞:存储引擎接受但不存储数据。获取总是返回一个空集。该功能可用于分布式数据库设计,其中数据自动复制,但不存储在本地。此存储引擎可用于其他方面的性能测试。

  • The联邦:存储引擎提供了将MySQL服务器与许多物理服务器分离以创建逻辑数据库的功能。本地服务器上的查询自动在远程(联邦)表上执行。本地表中不存储任何数据。适合分布式environments

在管理控制台中,我们可以列出可用的存储引擎:

代码语言:javascript
复制
mysql> SHOW ENGINES\G
*************************** 1. ROW ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, AND FOREIGN KEYS
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 2. ROW ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
...

指定和修改存储引擎

代码语言:javascript
复制
mysql> CREATE TABLE Cars(Id INTEGER PRIMARY KEY, Name VARCHAR(50), 
    -> Cost INTEGER) ENGINE='MyISAM';

或

代码语言:javascript
复制
mysql> ALTER TABLE Cars ENGINE='MyISAM';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71600476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档