• 为员工创造价值,为客户创造价值;
  • 为推动全社会进步而努力;
  • 成为中国的企业IT人才培养解决方案提供商.

400-689-2779

Oracle数据库性能调优全解析:核心组件·监控体系·执行计划实战指南

Oracle数据库性能调优全解析:核心组件·监控体系·执行计划实战指南

授课机构: 南京柯普瑞IT学校

上课地点: 校区地址

成交/评价:

联系电话: 400-689-2779

Oracle数据库性能调优全解析:核心组件·监控体系·执行计划实战指南课程详情

Oracle数据库性能调优全流程技术拆解

一、数据库核心组件运行机制深度解析

要实现Oracle数据库的高效运行,必须先理解其核心内存组件的工作逻辑。这些组件如同数据库的"动力引擎",直接影响查询响应速度与系统稳定性。

1.PGA:进程级内存管理中枢

PGA(Program Global Area)是Oracle为每个服务器进程分配的私有内存区域,主要用于存储会话专属的绑定变量、排序区、哈希区等数据。在高并发场景下,PGA的合理配置尤为关键——排序操作若因PGA空间不足触发磁盘临时表,会显著降低查询效率。实际运维中需重点关注PGA_AGGREGATE_TARGET参数,该参数控制所有PGA的总内存上限,建议根据业务类型(OLTP/OLAP)调整至物理内存的20%-30%。

2.LIBRARY CACHE:SQL执行的"速查字典"

作为共享池的核心组成部分,LIBRARY CACHE存储已解析的SQL语句、PL/SQL块及数据字典信息。当相同SQL再次执行时,Oracle可直接从LIBRARY CACHE获取解析后的执行计划,避免重复编译开销。需要注意的是,硬解析(无绑定变量导致的重复解析)会频繁占用LIBRARY CACHE资源,建议通过绑定变量使用、合理设置CURSOR_SHARING参数等方式降低硬解析率。

3.BUFFER CACHE:数据访问的"高速缓冲区"

BUFFER CACHE是Oracle用于缓存数据块的共享内存区域,通过LRU(最近最少使用)算法管理缓存内容。当执行查询时,Oracle优先从BUFFER CACHE读取数据,仅在未命中时访问磁盘。实际调优中需关注BUFFER_POOL_SIZE参数,对于热点数据表(如订单表)可通过设置KEEP池长期缓存,而历史归档表则使用RECYCLE池减少内存占用。

SQL执行全流程:从解析到结果输出

一条SQL语句的完整执行需经过语法检查→解析(生成执行计划)→绑定变量赋值→执行(访问数据)→结果返回五个阶段。其中解析阶段的耗时与SQL复杂度直接相关,这也是为什么建议避免使用SELECT *、嵌套子查询等复杂语句的核心原因。

二、多维度性能监控体系构建

有效的性能调优离不开精准的监控数据支撑。Oracle提供了从操作系统到数据库内核的多层级监控工具,掌握这些工具的使用方法是定位性能瓶颈的关键。

1.操作系统级监控:定位资源争用

通过top、iostat、vmstat等工具可实时监控CPU、内存、磁盘I/O使用情况。例如,当iostat显示%util持续高于80%时,说明磁盘I/O已成为瓶颈;top命令中oracle进程CPU使用率长期则可能是SQL执行效率低下导致。

2.数据库日志分析:挖掘异常线索

alert日志记录了数据库启动/关闭、参数变更、错误事件等关键信息,是排查系统级故障的首要入口。而trace文件(如SQL_TRACE生成的.trc文件)则能详细记录SQL执行的等待事件、逻辑读等细节,配合tkprof工具格式化后可快速定位慢查询。

3.AWR与ASH:时间轴上的性能画像

AWR(自动工作负载存储库)通过每小时收集一次系统快照,提供过去7天的性能趋势分析,重点关注Load Profile(负载概况)、Top 5 Timed Events(耗时最多事件)等报表。ASH(活动会话历史)则提供实时的会话级监控数据,可通过V$ACTIVE_SESSION_HISTORY视图追踪当前活跃会话的等待事件,特别适用于突发性能问题的诊断。

4.故障诊断工具:hanganalyze与SYSDUMP

当数据库出现挂起(hang)时,执行hanganalyze命令可生成包含锁信息、会话状态的诊断报告;SYSDUMP则用于生成系统级转储文件,适用于内核级故障的深度分析。这些工具的输出文件需结合MOS(My Oracle Support)文档进行解读。

实战案例:某电商大促期间响应延迟排查

2023年双十一大促期间,某电商平台Oracle数据库出现查询延迟。通过AWR报表发现Top Event为buffer busy waits,进一步分析ASH数据定位到订单表(ORDER_MAIN)的热点块争用。最终通过调整PCTFREE参数(从10%提升至20%)减少块分裂,配合调整索引存储参数,将响应时间从800ms降至200ms。

三、数据库对象优化的实战策略

表、索引、分区等数据库对象的设计直接影响数据访问效率。优化这些对象的存储结构,是提升整体性能的基础工作。

1.数据读取的底层逻辑

Oracle通过块(Block)为单位进行数据存储,每个块默认8KB(可通过DB_BLOCK_SIZE调整)。当执行SELECT语句时,数据库先读取索引块(若有索引)定位行号,再根据行号读取数据块。理解这一过程有助于设计更高效的索引策略。

2.堆表优化:聚簇因子与空间管理

堆表(Heap Table)是最常见的表存储方式,数据行按插入顺序存储。聚簇因子(CLUSTERING_FACTOR)反映索引键值与表物理存储的相关性,该值越接近索引叶块数,说明索引与表数据顺序越匹配,查询效率越高。实际应用中可通过ANALYZE TABLE ... COMPUTE STATISTICS命令收集该指标。

3.PCTFREE与PCTUSED:空间预留的平衡艺术

PCTFREE(默认10%)定义数据块中为后续更新操作预留的空间比例,PCTUSED(默认40%)则规定当块使用空间低于该比例时重新允许插入新行。对于更新频繁的表(如账户余额表),建议提高PCTFREE至20%-30%以减少块分裂;而只读历史表可降低PCTFREE至5%节省空间。

4.索引与分区:大数据量下的性能利器

索引组织表(IOT)将数据按索引顺序存储,适合需要按索引键频繁查询且数据量稳定的场景;分区表通过将大表拆分为多个子分区(范围分区、列表分区、哈希分区),可显著提升查询效率(分区剪枝)和维护便利性(分区级备份)。需要注意的是,分区索引需根据分区类型选择本地索引(每个分区独立索引)或全局索引(全局统一索引)。

5.统计信息与直方图:优化器的决策依据

Oracle优化器(CBO)通过统计信息(表行数、列数据分布等)生成执行计划。定期收集统计信息(建议每周一次)是确保执行计划最优的关键。对于数据分布不均的列(如状态字段,90%为"已完成"),需创建直方图(Histogram)告知优化器实际数据分布,避免选择错误的访问路径。

四、SQL执行计划的精准诊断与优化

执行计划是SQL语句的"执行路线图",理解其含义并能识别低效操作,是DBA的核心技能之一。

1.生成与解读正确的执行计划

通过EXPLAIN PLAN FOR或DBMS_XPLAN.DISPLAY_CURSOR可获取执行计划。需要注意的是,EXPLAIN PLAN仅模拟执行,实际执行计划可能因绑定变量、统计信息更新而变化,建议结合AWR中的实际执行数据验证。

2.常见操作符的性能影响

全表扫描(TABLE ACCESS FULL)在小表上是高效的,但对百万级大表需通过索引避免;嵌套循环(NESTED LOOPS)适合驱动表小、匹配行数少的场景;哈希连接(HASH JOIN)则更适合大表连接,但需要足够的PGA内存支持;排序操作(SORT ORDER BY)若无法在PGA完成,会导致磁盘临时表,需关注排序区域大小(PGA_AGGREGATE_TARGET)。

3.执行计划优化案例:某ERP系统慢查询调优

某ERP系统中一条查询采购订单的SQL耗时3秒,执行计划显示对PURCHASE_ORDER表(1200万行)进行了全表扫描。通过分析WHERE条件"create_date > sysdate-30",发现该列无索引且统计信息过时(实际最近30天数据仅5万行)。创建索引index_po_create_date后,执行计划转为索引范围扫描(INDEX RANGE SCAN),耗时降至80ms。

五、等待事件处理与性能调优总结

等待事件(Wait Event)是数据库性能问题的"信号灯",通过分析会话等待的具体事件,可快速定位瓶颈点。

1.等待事件的分类与含义

Oracle等待事件主要分为CPU等待(CPU time)、I/O等待(db file sequential read、db file scattered read)、锁等待(enq: TX - row lock contention)、内存等待(buffer busy waits)等类别。例如,"db file sequential read"通常与索引访问相关,而"db file scattered read"多由全表扫描引起。

2.生产环境事件处理实战

某银行核心系统出现"enq: HW - contention"等待事件,经分析是由于大量并发更新导致行级锁争用。通过优化事务设计(缩短事务执行时间)、调整索引结构(分散锁竞争点),最终将该事件的等待时间占比从35%降至8%。

性能调优的核心原则

总结来看,Oracle性能调优需遵循"监控→定位→优化→验证"的闭环流程:通过AWR/ASH明确性能瓶颈,结合执行计划和等待事件分析具体原因,针对性调整参数、优化SQL或重构数据库对象,最后通过基准测试验证优化效果。同时需建立常态化监控机制(如每日AWR报告分析),预防性能问题发生。

南京柯普瑞IT学校

南京柯普瑞IT学校
认证 7 年

成立: 2006年

认证 地址认证 教学保障 在线预约 到店体验 售后支持
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-04 16:35:20 HTTP/1.1 GET : http://www.aabqy.com/s/1037/c/43864.html
  2. 运行时间 : 0.073772s [ 吞吐率:13.56req/s ] 内存消耗:405.77kb 文件加载:136
  3. 缓存信息 : 0 reads,0 writes
  1. /data/web/baijiao_branch_collect/public/index.php ( 0.79 KB )
  2. /data/web/baijiao_branch_collect/vendor/autoload.php ( 0.75 KB )
  3. /data/web/baijiao_branch_collect/vendor/composer/autoload_real.php ( 1.63 KB )
  4. /data/web/baijiao_branch_collect/vendor/composer/platform_check.php ( 0.90 KB )
  5. /data/web/baijiao_branch_collect/vendor/composer/ClassLoader.php ( 15.99 KB )
  6. /data/web/baijiao_branch_collect/vendor/composer/autoload_static.php ( 4.26 KB )
  7. /data/web/baijiao_branch_collect/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /data/web/baijiao_branch_collect/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /data/web/baijiao_branch_collect/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /data/web/baijiao_branch_collect/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /data/web/baijiao_branch_collect/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /data/web/baijiao_branch_collect/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /data/web/baijiao_branch_collect/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  18. /data/web/baijiao_branch_collect/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  19. /data/web/baijiao_branch_collect/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  20. /data/web/baijiao_branch_collect/app/provider.php ( 0.19 KB )
  21. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  22. /data/web/baijiao_branch_collect/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  23. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  24. /data/web/baijiao_branch_collect/app/common.php ( 10.83 KB )
  25. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  26. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  27. /data/web/baijiao_branch_collect/config/app.php ( 1.29 KB )
  28. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  29. /data/web/baijiao_branch_collect/config/cache.php ( 1.22 KB )
  30. /data/web/baijiao_branch_collect/config/config.php ( 0.26 KB )
  31. /data/web/baijiao_branch_collect/config/console.php ( 0.29 KB )
  32. /data/web/baijiao_branch_collect/config/cookie.php ( 0.56 KB )
  33. /data/web/baijiao_branch_collect/config/database.php ( 2.29 KB )
  34. /data/web/baijiao_branch_collect/config/filesystem.php ( 0.63 KB )
  35. /data/web/baijiao_branch_collect/config/lang.php ( 0.81 KB )
  36. /data/web/baijiao_branch_collect/config/log.php ( 1.37 KB )
  37. /data/web/baijiao_branch_collect/config/middleware.php ( 0.19 KB )
  38. /data/web/baijiao_branch_collect/config/route.php ( 1.54 KB )
  39. /data/web/baijiao_branch_collect/config/session.php ( 0.57 KB )
  40. /data/web/baijiao_branch_collect/config/trace.php ( 0.34 KB )
  41. /data/web/baijiao_branch_collect/config/view.php ( 0.81 KB )
  42. /data/web/baijiao_branch_collect/app/event.php ( 0.25 KB )
  43. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  44. /data/web/baijiao_branch_collect/app/service.php ( 0.13 KB )
  45. /data/web/baijiao_branch_collect/app/AppService.php ( 0.26 KB )
  46. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  47. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  48. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  49. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  50. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  51. /data/web/baijiao_branch_collect/vendor/services.php ( 0.14 KB )
  52. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  53. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  54. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  55. /data/web/baijiao_branch_collect/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  56. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  57. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  58. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  59. /data/web/baijiao_branch_collect/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  60. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  61. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  62. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.20 KB )
  63. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.75 KB )
  64. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  65. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  66. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.30 KB )
  67. /data/web/baijiao_branch_collect/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  68. /data/web/baijiao_branch_collect/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  69. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  70. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  71. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  72. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  73. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  74. /data/web/baijiao_branch_collect/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  75. /data/web/baijiao_branch_collect/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  76. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  77. /data/web/baijiao_branch_collect/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  78. /data/web/baijiao_branch_collect/vendor/topthink/think-helper/src/helper/Arr.php ( 17.45 KB )
  79. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/cache/driver/Redis.php ( 6.94 KB )
  80. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  81. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  82. /data/web/baijiao_branch_collect/app/Request.php ( 0.09 KB )
  83. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  84. /data/web/baijiao_branch_collect/app/middleware.php ( 0.26 KB )
  85. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  86. /data/web/baijiao_branch_collect/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  87. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  88. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  89. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  90. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  91. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  92. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  93. /data/web/baijiao_branch_collect/route/app.php ( 3.05 KB )
  94. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  95. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  96. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  97. /data/web/baijiao_branch_collect/app/controller/Index.php ( 33.26 KB )
  98. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/facade/Request.php ( 9.20 KB )
  99. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/route/Url.php ( 14.07 KB )
  100. /data/web/baijiao_branch_collect/app/model/IndexModel.php ( 19.95 KB )
  101. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/facade/Config.php ( 1.37 KB )
  102. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/facade/Cache.php ( 2.06 KB )
  103. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  104. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.73 KB )
  105. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/PDOConnection.php ( 53.74 KB )
  106. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  107. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  108. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  109. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/Builder.php ( 24.07 KB )
  110. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  111. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/Query.php ( 15.97 KB )
  112. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  113. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  114. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  115. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  116. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  117. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  118. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  119. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  120. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  121. /data/web/baijiao_branch_collect/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  122. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  123. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  124. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  125. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  126. /data/web/baijiao_branch_collect/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  127. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  128. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  129. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  130. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/view/driver/Php.php ( 6.44 KB )
  132. /data/web/baijiao_branch_collect/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  133. /data/web/baijiao_branch_collect/view/index/pc/school_course_details.php ( 6.12 KB )
  134. /data/web/baijiao_branch_collect/view/index/pc/school_top.php ( 5.76 KB )
  135. /data/web/baijiao_branch_collect/view/index/pc/school_bottom.php ( 1.16 KB )
  136. /data/web/baijiao_branch_collect/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000307s ] mysql:host=127.0.0.1;port=3306;dbname=baijiao_branch_collect;charset=utf8
  2. SHOW FULL COLUMNS FROM `fqi_school` [ RunTime:0.001077s ]
  3. SELECT * FROM `fqi_school` WHERE `school_id` = '1037' AND `site_id` = 23 AND `school_status` = 1 LIMIT 1 [ RunTime:0.000298s ]
  4. SHOW FULL COLUMNS FROM `fqi_school_class` [ RunTime:0.000604s ]
  5. SELECT * FROM `fqi_school_class` WHERE `school_id` = 1037 [ RunTime:0.000272s ]
  6. SHOW FULL COLUMNS FROM `fqi_school_campus` [ RunTime:0.000627s ]
  7. SELECT * FROM `fqi_school_campus` WHERE `school_id` = 1037 [ RunTime:0.000286s ]
  8. SHOW FULL COLUMNS FROM `fqi_school_course` [ RunTime:0.000693s ]
  9. SELECT `a`.*,`content` FROM `fqi_school_course` `a` LEFT JOIN `fqi_school_course_content` `b` ON `b`.`content_id`=`a`.`content_id` WHERE `school_id` = 1037 AND `a`.`content_id` = '43864' AND `course_status` = 1 AND `school_status` = 1 LIMIT 1 [ RunTime:0.001360s ]
  10. (select content_id,course_name from fqi_school_course where school_id = '1037' and content_id < '43864' and site_id = '23' order by content_id desc limit 1) union all(select content_id,course_name from fqi_school_course where school_id = '1037' and content_id > '43864' and site_id <= '23' order by content_id asc limit 1) [ RunTime:0.001500s ]
  11. SELECT * FROM `fqi_school_course` WHERE `school_id` = 1037 AND `site_id` = 23 AND `course_status` = 1 AND `school_status` = 1 AND `school_class_id` = 4197 ORDER BY `course_id` DESC LIMIT 4 [ RunTime:0.000393s ]
  12. SELECT * FROM `fqi_school_course` WHERE `school_id` = 1037 AND `site_id` = 23 AND `course_status` = 1 AND `school_status` = 1 ORDER BY `course_id` DESC LIMIT 10 [ RunTime:0.000882s ]
  13. SELECT COUNT(*) AS think_count FROM `fqi_school_course` WHERE `school_id` = 1037 AND `course_status` = 1 [ RunTime:0.000276s ]
  14. SHOW FULL COLUMNS FROM `fqi_school_teacher` [ RunTime:0.000676s ]
  15. SELECT COUNT(*) AS think_count FROM `fqi_school_teacher` WHERE `school_id` = '1037' [ RunTime:0.000203s ]
  16. SHOW FULL COLUMNS FROM `fqi_school_comments` [ RunTime:0.000635s ]
  17. SELECT COUNT(*) AS think_count FROM `fqi_school_comments` WHERE `school_id` = '1037' [ RunTime:0.000211s ]
  18. SELECT `content_id`,`course_name`,`a`.`school_id`,`b`.`school_name` FROM `fqi_school_course` `a` LEFT JOIN `fqi_school` `b` ON `b`.`school_id`=`a`.`school_id` WHERE `a`.`site_id` = '23' AND `b`.`school_status` = '1' AND `course_status` = 1 AND `course_id` < '43864' ORDER BY `content_id` DESC LIMIT 20 [ RunTime:0.058922s ]
0.074090s