当前位置:首页>Linux>从Windows到Linux:拆解Oracle单进程多线程(Windows)与多进程()的架构差异

从Windows到Linux:拆解Oracle单进程多线程(Windows)与多进程()的架构差异

  • 2026-02-28 01:15:10
从Windows到Linux:拆解Oracle单进程多线程(Windows)与多进程()的架构差异

📢 先给各位来个灵魂拷问💡:当Oracle在Linux上跑着十几个进程(PMON、SMON、DBWn...)时,它在Windows上会跑几个进程?

A. 10个+(Linux直呼内行)B. 1个(Windows表示要精简)C. 看心情(DBA的血压也跟着看心情)

…正确答案是B,是不是和各位大佬想的不一样!(此刻无数DBA和小伙伴已同步按下Ctrl+Shift+Esc,开始对着Windows任务管理器陷入沉思……)


  作为一个和Oracle打交道的老司机,第一次在Windows上看到这个现象时,差点以为数据库没启动成功😂 —— Windows“任务管理器”里孤零零的一个oracle.exe,说好的多进程架构呢?那么今天这边文章给大家介绍一下windows上进程架构的变化,众所周知在Linux上Oracle是多进程架构,但这一架构在windows上发生了变化,变成了单进程多线程架构。

  博主之前系统学习过Oracle的进程结构,所以自然而然的就以为windows上也是多进程架构(我相信大部分人应该也都这样认为),这一观点在Linux/Unix环境下完全正确✅,但在Windows平台却存在根本性差异❗。

  了解到windows单进程多线程这个知识点还是挺凑巧的,当时公司有Oracle在Windows系统上部署,需要我协助处理一个死锁问题,Linux系统上通常会通过 ps -ef | grep ora_命令 查看后台相关死锁进程📊,所以按照之前的Linux架构理解,就直接右键打开了“任务管理器”结果发现并没有相关的进程在后面(PS:“任务管理器”是查看windows上运行的进程、用户、服务等的,和Linux上通过 ps -ef | grep ora_命令查看后台进程是一个道理),然而“任务管理器”中只显示了一个oracle.exe进程和Oracle相关🖥️,自己也就蒙了,为啥没有其他Oracle相关的进程号,查阅官方文档才知道,Oracle在windows变成了单进程多线程架构,Oracle在Windows平台采用了完全不同的线程架构实现,所有用户进程、服务器进程、后台进程(如PMON、SMON、DBWn等)均以线程形式运行在同一个oracle.exe进程地址空间中 🧵,所以并不能通过“任务管理器”查看,需要通过“Administration Assistant for Windows”管理工具来查看Oracle实例进程下的所有线程。那么带着这个问题,这篇文章将深入分享Windows平台单进程多线程架构的设计与实现,并与Linux多进程架构进行对比,最后演示如何通过“Administration Assistant for Windows”工具查询对应会话的线程ID。

特别说明💥:本篇文章部分理论性知识点均来源于版权归 Oracle 所有的官方公开文档手册,并结合了我个人的解读和案例演示。若需要调整,请联系,会尽快处理😄

官方文档对于Oracle在Windows平台上单进程多线程架构的介绍(Oracle 12c):https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ntqrf/overview-of-oracle-database-on-windows-architecture.html#GUID-0F2F5235-69CB-4A77-908E-B9BFFACB286A

官方文档对于Oracle在Linux平台上多进程架构的介绍(Oracle 12c):https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cncpt/introduction-to-oracle-database.html#GUID-A42A6EF0-20F8-4F4B-AFF7-09C100AE581E


如果觉得文章对你有所帮助,欢迎点赞  收藏  加关注 

目录
  • Oracle在Windows平台上单进程多线程架构:
  • Oracle在Linux平台上多进程架构:
  • 单进程多线程 VS 多进程:
  • windows上查看Oracle后台线程:

Oracle在Windows平台上单进程多线程架构:

  如下图是Windows上的Oracle数据库体系结构,这里博主就直接上官方文档上的截图了,反而比博主直接手绘更直观。

  Oracle实例在Windows服务上运行(这是一个注册到操作系统的后台进程),该服务由Windows启动,无需用户交互即可启动。它包含访问数据库所需的内存结构和线程。

  客户端通过一个线程连接到Oracle实例,线程直接与进程监控器连接。内存结构包括共享池、库缓存、数据字典缓存、数据库缓冲缓存和重做日志缓冲区。

  图中可以看到线程包括数据库写入线程、日志写入线程、内存管理线程、进程监控线程、进程派生线程、系统监控线程、检查点处理线程(Windows平台默认运行)、分布式恢复后台线程,以及归档处理线程(在数据库可用时是可选的)。

  并且该Oracle实例包含数据文件、控制文件和重做日志文件。与数据库相关的还有参数文件、密码文件和归档日志文件。


  在Windows上运行的Oracle数据库的内部进程架构采用基于线程的设计,线程是进程内运行程序指令的对象。线程允许在单个进程内实现并发操作,使进程能够在不同处理器上同时运行程序的不同部分。基于线程的架构具有以下优势:

  • 更快的上下文切换
  • 更简单的系统全局区分配机制,因为不需要使用共享内存
  • 更快地创建新连接,因为线程比进程创建速度更快
  • 减少内存使用,因为线程比进程共享更多数据结构

  在内部实现上,线程模型的代码结构紧凑,与Oracle数据库主体代码分离。异常处理程序和例程会跟踪并释放资源,从而增强健壮性,避免因资源泄漏或程序异常导致的停机。

  在Windows上,Oracle数据库或Oracle自动存储管理实例(包含线程和内存结构)是一个Windows服务:即向操作系统注册的后台进程。该服务由Windows启动,无需用户交互即可运行,使得数据库能够在计算机启动时自动打开。

  当在Windows上运行多个Oracle数据库或Oracle自动存储管理实例时,每个实例都运行自己的Windows服务,并包含多个组件线程。每个线程对于数据库可用性都是必需的,或者是特定平台的可选线程。根据配置不同,后台进程会读写各种数据文件。

Oracle在Windows平台上所需的部分重要线程举例:

线程
描述
必选/可选
DBWO
数据库写入线程
所需
LGWR
日志写入线程
所需
MMAN
内存管理线程
所需
PMON
进程监控线程
所需
PSPO
进程派生线程
所需
SMON
系统监控线程
所需
CKPT
检查点处理线程(Windows平台默认运行)
所需
ARCO
归档处理线程(Windows平台)
所需
RECO
分布式恢复后台线程
所需

左右拉动查看完整表格 ⬅️➡️

PS小提示:通过如下SQL查看正在运行的线程。

SQL> select * from v$bgprocess where paddr <> '00'

  关于Oracle在Windows平台上单进程多线程架构就介绍到这里,一个oracle.exe进程扛下所有🏃‍♂️。下面也简单介绍一下Linux多进程架构并对比一下它们之间的区别🤷‍♂️。


Oracle在Linux平台上多进程架构:

  如下图是Linux上的Oracle数据库体系结构,这里博主就直接上官方文档上的截图了,反而比博主直接手绘更直观。

  Oracle数据库在Linux平台上采用经典的多进程架构设计,这种架构通过功能划分实现了高效的资源管理和系统稳定性。如图所示,整个体系由多个协同工作的进程组成,每个进程承担特定的职责。

核心架构组件

  1. 系统全局区(SGA):SGA是Oracle实例的核心内存结构,包含多个关键子区域:

    • 共享池(Shared Pool):存储SQL解析树和执行计划
    • 数据库缓冲区(Database Buffer Cache):缓存数据块
    • 重做日志缓冲区(Redo Log Buffer):临时存储重做记录
    • 大型池(Large Pool):为特定操作提供内存分配
    • .............
  2. 后台进程:Oracle的主要后台进程包括:

    • DBWn (Database Writer):负责将修改后的数据块写入数据文件
    • LGWR (Log Writer):将重做日志缓冲区内容写入在线重做日志文件
    • CKPT (Checkpoint):触发检查点,同步数据文件
    • SMON (System Monitor):执行系统级清理和恢复
    • PMON (Process Monitor):监控用户进程状态并处理异常终止
    • .............
  3. 程序全局区(PGA):每个服务器进程拥有独立的PGA,包含:

    • 私有SQL区域
    • 会话内存
    • SQL工作区

进程间协作机制

  各进程通过共享内存(SGA)和信号量进行通信,确保数据一致性和系统协调运行。这种设计既保证了各进程的独立性,又实现了高效的数据共享。

单进程多线程 VS 多进程:

一、架构对比

特性
Windows单进程多线程架构
Linux多进程架构
执行单元
单进程(ORACLE.EXE)内多线程
多个独立进程(PMON/SMON/DBWn等)
内存管理
共享同一进程地址空间
各进程有独立地址空间
上下文切换
线程切换(约1-2微秒)
进程切换(约5-10微秒)
故障隔离
线程崩溃可能影响整个实例
进程崩溃通常不会波及其他组件
监控方式
需专用工具查看线程(v$bgprocess视图)
直接通过ps -ef命令查看
典型部署
注册为Windows服务
以守护进程(daemon)形式运行

左右拉动查看完整表格 ⬅️➡️

二、Windows采用单进程多线程的深层原因

1.操作系统内核设计差异

  • Windows线程模型优势:
    • 原生线程调度器更高效(基于NT内核的线程优先级机制)
    • 进程创建开销大(约100ms/进程 vs 线程创建约10ms)
  • Linux特性:
    • fork()系统调用优化(写时复制技术)
    • 进程间通信(IPC)效率高(共享内存/信号量成熟)

2.性能优化考量

  • 连接创建速度:
    • Windows线程创建比进程快5-10倍
    • 对于OLTP高频短连接场景优势明显
  • 内存占用:
    • Windows线程:共享SGA/PGA,节省30%+内存
    • Linux进程:每个连接需独立PGA分配

3.平台兼容性需求

  • Windows早期版本(如NT 4.0)对POSIX进程支持有限
  • 服务化集成要求(必须符合Windows Service Control Manager规范)

4.开发维护成本

  • 统一代码库:通过#ifdef _WIN32条件编译实现跨平台
  • 避免为Windows重写全套IPC机制(直接使用线程同步原语)

三、关键差异可视化:

  • 内存共享方式:
    • Windows:自动共享(进程内)
    • Linux:需显式配置IPC
  • 故障影响范围:
    • Windows:线程崩溃影响整个方框
    • Linux:单个进程崩溃不影响其他组件

四、Oracle数据库在Windows与UNIX平台的差异(官方文档):

  以下是整理成表格形式的Oracle数据库在Windows和UNIX平台的主要差异,完整说明请参考官方文档:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ntqrf/oracle-database-differences-on-windows-and-unix.html

功能类别
UNIX/Linux平台特性
Windows平台特性
进程架构
多进程/线程混合模式(12.2+)
单进程多线程
自动启停
需要配置多个目录下的初始化脚本
作为Windows服务自动管理
后台作业
完善的批处理控制机制
通过任务计划程序实现
诊断工具
使用sar、vmstat等专用工具
使用性能监视器和WMI
磁盘写入
支持绕过文件系统缓存直写
同样支持绕过文件系统缓存直写
动态库
使用.so共享库
使用DLL动态链接库
安装账户
需要创建oracle用户和DBA组,禁止使用root账户
使用Windows账户体系
DB_WRITERS
通过参数配置多个写入进程
自动线程化管理
内存管理
默认内核配置通常需要手动优化
自动适配系统资源
分布式事务
无原生对应组件
通过MS DTC实现
多Oracle Home
严格遵循OFA规范
简化安装路径管理
存储选项
支持文件系统和原始分区
主要使用文件系统
服务管理
使用守护进程(daemon)
作为Windows服务运行

左右拉动查看完整表格 ⬅️➡️

windows上查看Oracle后台线程:

  了解了上面的内容,大家都知道了Oracle在Wndows上采用的是单进程多线程架构,因此,0race一旦启动,在任务管理器里只能看到一个oracle.exe的进程。如果想要查看Oracle的各个后台进程(Linux系统下的称谓),例如PMON、SMON、DBWn、LGWR、CKPT等,或者需要看哪些用户进程、服务器进程,可以通过如下几个步骤实现:

1)先查看Windows上运行了那些Oracle后台服务:服务器管理器——工具——服务

  • Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。(非必须启动)
  • OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。oracle健康检查专家塞姆说,在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务(属于网页连接数据库时必要开启的)。(非必须启动)
  • OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)
  • OracleMTSRecoveryService:服务端控制。oracle健康检查专家塞姆说,该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。(非必须启动)
  • OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
  • OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。(非必须启动)。
  • OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)

2)首先打开“任务管理器”,可以看到oracle的主进程oracle.exe。注意:在任务管理器运行的进程其实就是Windows服务,那个服务打开了在任务管理器就可以看到

3)在Windows上查看主进程oracle.exe的各个线程,在所有程序中找到“Administration Assistant for Windows”工具

4)找到数据库(实例),右键对应的实例,选择“进程信息”,就可以看到后台线程,当然也看到看到所有的用户、服务器线程

  可以看到当前orcl实例下的所有用户进程、服务器进程、后台进程(如PMON、SMON、DBWn等),这样就可以按照SQL查出的线程ID对对应的线程在系统层面进行终止操作啦!


  Oracle数据库在Windows和Linux平台展现了截然不同的架构设计:Windows采用单进程多线程模型🧵,像一个全能选手;Linux则是多进程架构👥,如专业团队分工。这体现了Oracle对不同操作系统的深度适配与架构智慧✨。当然这种差异仅仅是Oracle跨平台适配的冰山一角,因此我们还是需要不断的学习才能更好的跟上技术潮流💫

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 16:10:21 HTTP/2.0 GET : https://f.mffb.com.cn/a/477345.html
  2. 运行时间 : 0.156775s [ 吞吐率:6.38req/s ] 内存消耗:4,462.81kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=63e80af09de0201609e6c799a443efe4
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000906s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000604s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000267s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000289s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000482s ]
  6. SELECT * FROM `set` [ RunTime:0.000187s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000557s ]
  8. SELECT * FROM `article` WHERE `id` = 477345 LIMIT 1 [ RunTime:0.001609s ]
  9. UPDATE `article` SET `lasttime` = 1772266221 WHERE `id` = 477345 [ RunTime:0.013869s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000268s ]
  11. SELECT * FROM `article` WHERE `id` < 477345 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000482s ]
  12. SELECT * FROM `article` WHERE `id` > 477345 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000523s ]
  13. SELECT * FROM `article` WHERE `id` < 477345 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.013539s ]
  14. SELECT * FROM `article` WHERE `id` < 477345 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.018472s ]
  15. SELECT * FROM `article` WHERE `id` < 477345 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.040174s ]
0.158409s