Code前端首页关于Code前端联系我们

mysql是单进程多线程数据库,mysql是单进程多线程数据库

terry 2年前 (2023-09-30) 阅读数 40 #Mysql
文章标签 Mysql

本文内容列表:

  • 1. 为什么MySQL使用多线程,而Oracle和PostgreSQL使用多进程
  • 2.测试MySQL和Postgresql数据库查询性能以及如何执行单线程和多线程查询
  • 3.如何查看mysql是否是innodb
  • 4.什么是MySql数据库?
  • 5.如何创建多线程MYSQL数据库
  • 6、mysql gtid模式是多库多线程还是单库多线程?

为什么MySQL使用多线程,而Oracle和PostgreSQL使用多进程

首先要了解分区和进程的区别和关系

一个进程至少有一个线程,一个线程只属于一个进程。

进程是资源拥有和调度的基本单位,线程是调度的基本单位。

独立处理自己的内存,线程共享所属进程的内存。

ORACLE 即使在 Windows 上也是多线程的。

一开始,传统的Unix系统并没有提供多线程,只提供多进程。 Linux 仅在最近的版本中添加了多线程支持。过去总是多进程。 Windows很早就支持多线程,大多数本地应用程序也是多线程的。所以Oracle一直在Windows上是多线程,在Unix上是多进程。多处理的优点是一个进程的崩溃不会影响其他进程。多线程的优点是不需要使用共享内存来访问数据库缓存。 mysql大概是从windows开发出来的,而pg和oracle最开始是从unix开发出来的,所以第一个是多线程的,后两个是多进程的。

最根本的原因正如方圆所说,主要是因为当时的操作系统没有强大的线程支持,而MySQL是一个特例,因为开发者喜欢挑战(但事实上,当时的线程支持基本上是Oracle 和 POSTGRES 之后的 MySQL)

希望这会有所帮助!

测试 MySQL 和 Postgresql 数据库查询性能以及如何执行单线程和多线程查询

可以通过多个过程进行模拟。如果您使用的是批处理脚本。

这取决于你如何测量。

如果使用jdbc程序段,其实可以模拟多线程。一根线用于连接。

设计一个标准数据集。它可能可以在线下载。记下测试环境以及测试每个阶段所花费的时间。

如何判断mysql是否是innodb

mysql被设计为单进程多线程架构数据库

开始:

1。默认的InnoDB存储引擎有7个后台线程,4个IO线程,1个主线程,1个锁监控线程1个错误监控线程。 IO线程的数量由innodb_file_io_threads配置文件参数控制。默认值为4,Linux下无法修改,但可以在窗口中修改

show engine innodb status\G; (root用户或具有查看权限的用户)

显示'innodb_version'\G等变量;

显示'innodb_%io_threads'\G等变量;

注意:我们强烈建议您安装单独的mysql而不是使用集成环境,因为一旦出现问题你会后悔死的

2。 innodb 存储核心内存由以下部分组成:

缓存缓冲池

重做日志缓冲区 重做日志缓冲池

附加存储池 附加存储池

innodb 的配置文件:

# Comment following if使用 InnoDB 表

#skip-innodb

innodb_data_home_dir = "D:/xampp/mysql/data"

innodb_data_file_path = ibdata1:10M_innodbmedb_ "autoextend:

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门