MySQL入门学习-使用数据库.存储引擎

2024-05-09 21:28

本文主要是介绍MySQL入门学习-使用数据库.存储引擎,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        MySQL 是一个流行的开源关系型数据库管理系统,而存储引擎则是 MySQL 中负责数据存储和检索的核心组件。MySQL 支持不同的存储引擎,每个存储引擎都有其特定的特点和适用场景。下面简要介绍几种常见的 MySQL 存储引擎:

一、InnoDB

1、特点:

支持事务处理、行级锁定、外键约束等特性,适用于大量并发的读写操作。

2、使用方法:

可以在创建表时指定使用 InnoDB 存储引擎:'CREATE TABLE table_name (column_list) ENGINE=InnoDB;'

3、与其他比较:

相对于 MyISAM 存储引擎更加稳定和支持事务处理,适用于事务性和并发性较高的应用场景。

二、MyISAM

1、特点:

不支持事务处理、表级锁定、全文索引等特性,适用于读操作较多的应用。

2、使用方法:

可以在创建表时指定使用 MyISAM 存储引擎:'CREATE TABLE table_name (column_list) ENGINE=MyISAM;'
与其他比较:MyISAM 存储引擎比较简单,适用于读取频繁、写入不频繁的场景。

三、Memory

1、特点:

数据存储在内存中,速度快但数据不持久,适用于临时数据的存储。

2、使用方法:

可以在创建表时指定使用 Memory 存储引擎:'CREATE TABLE table_name (column_list) ENGINE=Memory;'

3、与其他比较:

数据存储在内存中,速度快但受内存限制,适用于临时数据存储或缓存。

四、NDB Cluster

1、特点:

适用于高可用性、高性能的集群环境,支持分布式存储和事务处理。

2、使用方法:

适用于 MySQL 的集群环境,需要搭建 MySQL Cluster。

3、与其他比较:

NDB Cluster 提供了高可用性和性能的解决方案,适用于需要扩展性和高可靠性的应用。

以上是一些常见的 MySQL 存储引擎,使用时应根据应用场景和需求来选择合适的存储引擎。

(文章为作者在学习MySQL过程中的一些个人体会总结和借鉴,如有不当、错误的地方,请各位大佬批评指正,定当努力改正,如有侵权请联系作者删帖。)

这篇关于MySQL入门学习-使用数据库.存储引擎的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974544

相关文章

mysql 获得指定数据库所有表名以及指定表的所有字段名

SELECTCOLUMN_NAME 列名,DATA_TYPE 字段类型,COLUMN_COMMENT 字段注释FROMinformation_schema. COLUMNSWHEREtable_name = 'sys_user' ## 表名AND table_schema = 'test'; ## 数据库/*获得指定表的所有字段*/SELECT*FROMinformation_schem

使用Array实现Java堆栈

本教程给出了使用Array 实现Stack数据结构的示例。堆栈提供将新对象放在堆栈上(方法push())并从堆栈中获取对象(方法pop())。堆栈根据后进先出(LIFO)返回对象。请注意,JDK提供了一个默认的Java堆栈实现作为类java.util.Stack。 适用于所有堆栈实现的两个强制操作是: push():数据项放置在堆栈指针指向的位置。pop():从堆栈指针指向的位置删除并返回数据

Spring Boot - 使用类类型信息获取所有已加载的bean

Spring启动会在内部加载大量bean,以最少的配置运行您的应用程序。在这个例子中,我们将学习如何找出所有那些Spring boot加载的bean及其类类型信息。 使用ApplicationContext获取所有已加载的bean 要自动执行方法,当应用程序完全加载时,我正在使用CommandLineRunner接口。CommandLineRunner用于指示bean 在Spring应用程序中

mysql:慢查询日志slow_query_log

1、慢查询日志:当查询超过一定的时间没有返回结果的时候,才会记录到慢查询日志中。默认不开启。采样的时候手工开启。可以帮助DBA找出执行慢的SQL语句 2、常用的参数详解: 注意:修改以下参数,需要重新启动数据库服务才会生效。 slow_query_log=off|on     --是否开启慢查询日志slow_query_log_file=filename --指定保存路径及文件名,默认为数据

docker搭建mysql主从配置

1.拉取mysql,这里使用5.7 docker pull mysql:5.7 2、在本地主机新建两个配置文件:my-master.cnf、my-slave.cnf my-master.cnf: [mysqld]log-bin = mysql-binserver-id = 1 my-slave.cnf: [mysqld]server-id = 2 注意:自己创建文件所在的路径。

MyBatis的update语句的返回值改为从匹配数改为受影响的记录数,向mysql连接添加useAffectedRows=true一个参数即可。

1、现象mysql更新update语句执行时,没有内容变更的话,会返回“0”;存在内容更新的话,会返回会返回有内容更新的记录数“1”。  2、mybatis默认情况,没有内容更新也是返回“1”。这么怎么会是”1“,不应该是”0“???其实默认mybatis返回的是 Rows matched “1”,而不是 “ 0 row affected ”中的 “0”。  3、那需要怎么才能让m

使用ThreadPoolExecutor创建线程池有哪些关键参数

1、ThreadPoolExecutor类的全参数构造方法: /*** Creates a new {@code ThreadPoolExecutor} with the given initial* parameters.** @param corePoolSize the number of threads to keep in the pool, even* if they

MySql删除重复数据只保留最小id的那条数据。某某公司的临时面试题

错误代码: DELETE FROMpayment WHEREserial IN ( SELECT serial FROM payment GROUP BY serial HAVING count(*) > 1 ) AND id NOT IN ( SELECT min( id ) AS id FROM payment GROUP BY serial HAVING count( serial )

mysql升序排序使null结果排最后

1.现象mysql升序排序的null结果排最前面   select * FROM payment ORDER BY serial ASC; -- null值最前面  结果: 2.现象mysql降序序排序的null结果排最后面 select * FROM payment ORDER BY serial DESC; -- NULL 值最后 结果:  3.使mysql升序排序的n

Linux命令学习之二

每日一结 ​               命令置换:是将一个命令的输出作为另一个命令的参数,命令格式如下: commond1 `command2` 其中,命令command2的输出将作为命令command1的参数,需要注意的是, 命令置换的单引号为ESC键下方的 ` 其意思就是说,先运行单引号内的命令,再将其命令作为