跳到内容
当前位置:首页>PPT>分布式数据库选型这事,别光看 PPT

分布式数据库选型这事,别光看 PPT

  • 2026-11-07 22:44:38
分布式数据库选型这事,别光看 PPT

落笔相逢,我是军哥!

上一篇结尾的问题,业务要做分布式改造,第一个要回答的问题是什么。

我的答案是,你的数据模型里有没有一个天然的分片键。

这个问题一出,一半的方案直接出局。有清晰分片键、join 能按亲和设计的多租户或按业务线隔离的系统,Citus 这类分库分表路线走得通。没有分片键、查询全是跨全库的随机组合,那你要的是原生分布式或者 MPP,硬上分库分表等于给自己上刑。我自己参与过的选型评审,凡是跳过这个问题直接聊产品功能的,最后都交了学费。

这篇把整个 PG 系分布式地图铺开,给你们一套我实际在用的选型方法。

先把选手按血统归队

第 17 篇讲过 Shared Nothing 内部还分两类,现在把具体产品填进去。

插件或中间件路线的分库分表,Citus 是代表,应用要感知分片键,内部是协调节点加单机 PG。优点是跟 PG 社区同步快、上手成本低,缺点是 SQL 能力有边界。

原生分布式路线,对应用透明。这条线上又分两个亚种。MPP 分析型,Greenplum 是标杆,为并行扫全量数据而生。NewSQL 交易型,CockroachDB、TiDB 是代表,目标是线性扩展加分布式事务加高可用全都要。

CockroachDB 值得单独看一眼,它是 Spanner 思想的开源实现,数据按 64MB 的 Range 切分,三副本,副本间靠 Raft 同步,SQL 层完全按 PostgreSQL 的语法解析,协议层兼容 PG,客户端拿 PG 驱动直连。TiDB 跟它思路相似,计算存储分离,PD 管元数据,TiKV 管存储,差别在事务模型的具体实现和存储引擎的行列选择上。这俩的好处是扩容和故障恢复近乎自动,64MB 的小分片搬起来轻。

国产阵营这几年很热闹,也得认识一下。openGauss 从 PG 9.2 内核演进,华为做了大量改造,最大可用模式、双写、并行回放这些特性都是实打实增强,单机和主备场景竞争力强。GaussDB 200 是 XC 血脉的 MPP,加了集群管理组件做故障自愈。GaussDB 300 往 HTAP 走,GTM 的事务号存进了 etcd 集群。TBase 也是 XC 系。TDSQL 贴着 MySQL 社区做分库分表加强同步。POLARDB 走 Shared Storage,一写多读、存算分离、共享分布式文件系统。看出脉络了吗,全是前几篇讲过的架构路线的工程化延续。

我的选型五问

方案再多,评审的时候我就问五个问题。

一问负载类型,OLTP 点查点写为主,还是 OLAP 扫全量算聚合,还是混合。OLAP 重就直接看 MPP,Greenplum 或者 GaussDB 200 这一类,别犹豫。OLTP 重看 Citus 或 NewSQL。混合负载先想清楚谁主谁次,HTAP 这个词很美,但混合负载里一定有侧重。

二问分片键,刚才说了,这决定走不走得了分库分表路线。

三问 SQL 兼容性底线。把业务里最复杂的十句 SQL 拉出来,对着候选方案的限制清单逐条过。Citus 的 join 限制、非分片列 count distinct 限制,Greenplum 的高并发点查短板,逐条验证。PPT 上不会写限制,官方文档的限制章节才是选型的主战场。

四问维护成本。组件越多越贵,XL 那种 GTM 加 Proxy 加 Coordinator 加 Datanode 的阵容,搭起来是工程,养起来是负担。Citus 两个角色,CockroachDB 一种角色。团队多少人、什么水平,直接决定能养得起多复杂的方案。这一条的分量经常被低估,分布式系统凌晨三点出问题,排查链路每多一环都是血泪。

五问社区和未来。XL 的教训还热乎着,选型一定要看社区活跃度、版本跟进速度、商业公司的健康状况。你选的不是今天的功能,是未来五年谁给你修 bug。

选型定完别急着上线,POC 该做还得做

五问问完、速写对完号,也只是纸面结论。我经手的项目,定方案之后还有一轮 POC 验证,拿真实的数据模型、真实的 SQL 负载、真实的数据量灌进去跑。重点验三样,Top 复杂 SQL 的兼容性和性能,扩容缩容的真实流程,故障场景的切换表现。分布式方案的坑大多藏在这三样里,文档里看不出来的, POC 一周全暴露。

还有个小建议,POC 期间就把监控告警体系搭起来,分布式集群的监控项比单机多一个数量级,这个阶段搭好的监控就是日后生产的底子。

POC 这个话题,我面架构向的候选人必问。问题很简单,你们选型的时候 POC 验了什么。答跑了下 benchmark 的,我会追问,用谁的数据、谁的 SQL。拿官方样例数据跑 tpcc 的,跟拿自己业务 Top 十慢 SQL 灌真实数据量跑的,是两个物种。我会再问一句,扩容缩容演练过吗,故障切换看过吗。这三样是分布式坑的藏身处,文档里看不出来,POC 一周全暴露。答得头头是道的,多半是真交过学费的。

五问之外还有两个非技术因素,分量不比技术轻。一是团队的人才储备,选了一个招不到人、没人会维护的方案,等于给自己埋雷,PG 系方案的一个隐性优势就是 PG 人才池相对深。二是商业支持和合同层面的东西,出问题有没有地方打电话, license 怎么算,合规要求满不满足,这些在评审会上往往比技术参数更早一票否决。

一张决策速写

把五问的答案落到具体场景,速写长这样。数据仓库、BI 分析、大宽表聚合,Greenplum。多租户 SaaS、分片键清晰、想留在 PG 生态,Citus。全球化部署、强一致交易、能接受脱离 PG 内核,CockroachDB 或 TiDB。国产化合规要求明确的,openGauss 系和 GaussDB 系按场景对号。老系统扩容又懒得改架构,POLARDB 这类存算分离的云原生路线可以看看。

还有一条最重要的,别为了分布式而分布式。动手之前先算一笔容量账,单机 PG 的天花板比多数人以为的高,配上第二季讲的优化手段、第三季讲的读写分离,数据量几个 TB、日增几百万行的业务单机跑得稳稳的。单机 PG 加分区加读写分离能扛住的,别上分布式。这个系列前面二十一篇讲的所有单机功夫,都用完了、顶到头了,分布式才是下一步。复杂度是最贵的成本,能不买就不买。

面试官爱问什么

  • 分布式选型第一个问题是什么。数据模型里有没有天然的分片键,有就走分库分表路线,没有就看原生分布式或 MPP。跳过这步直接聊产品功能的评审,最后都交了学费。
  • OLTP 和 OLAP 怎么分方案。分析重看 MPP,Greenplum、GaussDB 200 这类。交易重看 Citus 或 NewSQL。混合负载先想清楚谁主谁次,HTAP 这个词很美但一定有侧重。
  • POC 该验什么。Top 复杂 SQL 的兼容和性能、扩容缩容的真实流程、故障场景的切换表现,用真实数据真实负载跑,拿样例数据跑 benchmark 是骗自己。
  • 国产分布式怎么评。先认血统,openGauss 是 PG 9.2 内核演进,GaussDB 200、300 和 TBase 是 XC 血脉,POLARDB 走存算分离,TDSQL 贴着 MySQL。血统看清了,特性就好评了。
  • 技术之外还看什么。团队人才储备、商业支持、license、合规,这些经常比技术参数更早一票否决。

第四季到这里收尾。这个系列从安全、优化、高可用一路写到分布式,技术内容讲完了。最后一篇番外,聊点不一样的,我自己考 PGCM 认证的经历,上机考试八小时都考了什么真题,以及面试里最常被问到的那些 PG 问题。正在考虑考证的读者,下一篇是写给你的。

干货已送达,点赞是签收,转发是好评,留言是售后!

关于我:郭一军 | 云贝教育创始人 | 25 年数据库老兵,长期为银行、证券等金融机构授课,专注信创数据库人才培养。

推荐阅读.PostgreSQL系列篇

第一季.安全篇

pg_hba.conf 配置错一行,全公司连不上库的那个下午

权限给大了出事,给小了挨骂,PG 访问控制怎么拿捏

领导要查谁在半夜删了表,pgaudit 救了我一命

数据加密这事,从 SSL 到列加密我全试了一遍

连上的真的是你的数据库吗?聊聊服务器欺骗

pg_upgrade 大版本升级实录,停机时间压到分钟级

断电之后库起不来了,聊聊 fsync 和数据可靠性

第二季.优化篇

shared_buffers 不是越大越好,PG 参数调优的血泪教训

一条慢 SQL 从 40 秒干到 200 毫秒,我把执行计划翻烂了

单表 5 亿行之后,分区表是我唯一的活路

连接数打满的那天,我才知道连接池不是可选项

第三季.高可用篇

PostgreSQL 高可用方案那么多,先想清楚你要保什么

Repmgr 自动 failover 实战,主库挂了 30 秒切完

Patroni 加 etcd,我目前最放心的一套 PG 高可用

Keepalived 飘 VIP,这套老方案现在还香不香

Pgpool-II 又能负载均衡又能高可用,代价是什么

更多精彩,关注我公众号,一起学习、成长

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