为什么 MySQL 使用多线程,而 Oracle 和 PostgreSQL 使用多进程_百度知 ...
发布网友
发布时间:2022-04-26 04:15
我来回答
共1个回答
热心网友
时间:2022-04-07 19:22
首先要明白县城和进程的区别和关系
一个进程至少拥有一个线程,一个线程只属于一个进程。
进程是拥有资源和调度的基本单位,线程是调度的基本单位。
进程独立拥有内存,线程共享所属进程的内存。
ORACLE在windows上也是多线程。
传统的unix系统,早期没有提供多线程,只有多进程。linux是最近的版本才加入多线程支持,以前一直都是多进程。windows很早就支持多线程,本地应用大部分也是多线程。因此oracle在windows上一直都是多线程,在unix上才是多进程。多进程的好处是,一个进程崩溃不会影响其他进程,多线程的好处是不需要共享内存这样的手段来访问数据库缓冲区。mysql很可能是从windows发站起来的,pg和oracle都是最早从unix发站起来的,因此前者是多线程,后两者是多进程。
最根本的原因就如方圆说的,主要是当年操作系统对线程支持不给力,而MySQL是特例,因为开发者喜欢挑战(不过事实上,那个时候的线程支持已经基本完善了。MySQL后于Oracle和POSTGRES)
希望能帮到您!