当前位置:首页>Excel>VBA的偏见与真相:重新认识Excel的编程力量!

VBA的偏见与真相:重新认识Excel的编程力量!

  • 2026-08-10 03:07:31
VBA的偏见与真相:重新认识Excel的编程力量!

导读

这是一篇为VBA正名的原创深度文章。笔者凭借在多套ERP系统中的实战积累,从图灵完备性、系统架构、性能优化等维度,犀利剖析了人们对VBA的普遍偏见。文章旨在打破“VBA仅等同于表格宏”的认知局限,还原其作为一门成熟开发语言的真实价值与生命力

在编程语言的广阔世界中,VBA(Visual Basic for Applications)似乎总是处于一个尴尬的位置。有人视其为Excel的附属品,有人将其归类为上古时期的开发工具,更有人对其能力抱有根深蒂固的偏见。然而,当我们真正深入理解这门已经存活了40年之久的语言时,或许会发现:偏见往往是源于无知,而真相常常藏在那些被我们轻易忽略的角落里。

偏见之源:当先入为主遮蔽了双眼

任何系统本质上都是对数据的增删改查,但工作量却千差万别。问题的关键不在于使用什么语言,而在于数据的维度、关联关系的复杂度以及业务场景的多变性。当这些因素交织在一起时,数据之间的关系复杂度呈指数级增长——这与编程语言本身无关。

然而,很多人对VBA抱有先入为主的偏见,这种偏见会不自觉地弱化其价值。相反,当我们熟悉某个事物时,又会拔高它的价值。还有一种情况是:人云亦云,未经实践就下了结论。对VBA的认知也陷入了同样的困境。很多人只是听说VBA不行,却从未真正深入使用过,更别说理解其作为图灵完备语言的本质。(原创作者:VBA匠人)

这种偏见的直接后果是:明明VBA可以高效解决的问题,人们却舍近求远,去追寻那些所谓先进、高大上的编程语言,最终因学习曲线陡峭而不了了之。从COBOL到C,从Java到Spring Cloud,在深度使用过多种技术栈后,我更清楚地认识到:Excel VBA的厉害之处在于让你根本意识不到自己在编程,这也正是其伟大之处。

图灵完备:打破语言优劣论的迷思

只要是图灵完备的语言,在理论上能解决的问题范围是相同的。VBA作为一种图灵完备的语言,当然可以解决复杂问题。认为VBA落后,要么是对“先进”的定义有误解,要么就是对VBA抱有莫名其妙的偏见。

“VBA+MySQL能实现任何你想要的功能”——这句话曾引来质疑,有人问能实现跑马灯吗?巧的是,正在做的一套ERP系统中就实现了此功能。很多时候不是能不能的问题,而是想不想的问题。如果VBA做不到,其他语言也一样做不到,因为图灵完备性决定了它们在计算能力上是等价的。(原创作者:VBA匠人)

从这个角度看,所谓语言先进与落后之分,很大程度上是个伪命题。再高级的语言也是建立在计算机底层的逻辑框架内,使用的都是现成的轮子。一个浑身挂满轮子的工具,没必要说造轮子的工具就是低级——毕竟没有它们,何来你们?无论是豪华的摩天大楼还是简陋的青砖绿瓦房,谁不是从地基上建起来的!

架构与设计:超越语言的通用智慧

任何系统的开发都会面临一些超越语言层面的挑战,而这些挑战往往决定了项目的成败。

首先是需求与成本的平衡问题。一套系统中,20%的功能可能覆盖了80%的实际场景,但为了覆盖那不常用的20%,开发者可能需要投入80%的精力。当客户说“需求很简单”时,可能只考虑了其中20%,另外80%要么没想到,要么是故意简化以表明低预算的合理性。这就是为什么系统开发报价一定要考虑buffer,否则将会掉入无底洞。唯一的解法是:在报价前把需求捋得越细越好,划分功能点评估工作量。(原创作者:VBA匠人)

其次是技术债的管理。避免技术债的唯一方法是不偷懒。以Treeview控件为例,虽然好用但很难控制,这多少是设计的问题。如果设计之初不及时调整,到后期更不会去调整,沉没成本越来越高,最终都会以技术债务的形式暴雷。所以在设计阶段多花时间是值得的——无论是对于一个方法、一个模块还是一个系统。

然后是权限控制的复杂性。一套系统的真正复杂之处并不在于业务逻辑,而在于对权限的控制:功能权限、数据权限、操作权限相互交叉、相互影响,形成网状结构。这正是复杂逻辑的最基本特征。

效率之道:从代码到思维的跃升

同样的功能,开发者的水平可能有天壤之别。之前上百行的代码,用类模块改写后只需要十行不到,还能灵活方便地增加功能菜单,维护成本大大降低。这正是封装的力量。

字典的妙用也在于此。当需要几十行代码实现的功能,用字典可能只是一个方法调用,因为实现已经封装好了。能封装的要封装,通过传参调用,后续调整只需改一处,所有相关地方同步生效——这才有可能告别代码屎山。

编码过程中还有一个常见的误区:过度依赖内置函数。虽然一般情况下内置函数和方法比自己写更高效,但内置函数也是人开发的,难免有坑。当纠结为什么内置函数达不到想要的效果时,也许不是你的问题,要毫不犹豫地自己编码实现。Application.Transpose方法和ListView都因设计缺陷曾让很多人踩坑,这也说明了前期设计的重要性。(原创作者:VBA匠人)

随着代码规模扩大,模块的管理也变得重要。通用方法一开始写在common模块中,随着代码增多,可以按功能拆分到独立模块中,遵循模块功能单一性原则,这样修改时一目了然。

性能迷思:VBA背了不该背的锅

“VBA做的程序数据一多就卡”——这个说法的根源,是把Excel本身的短板嫁接到了VBA身上。虽然VBA寄生于Excel,但二者并不等同。完全可以做到除了借用Excel的运行环境,其他与Excel无关。

解决大数据量问题,首要瓶颈是数据库而非开发语言。当数据上规模后,数据库的增删改查都会面临挑战。数据量大时,除了在数据库端建立索引、做读写分离,还可以利用VBA系统的CS架构特点——应用源码在客户端,天然分散应用端压力,用户多时每个客户端都是一个节点,无形中形成了分布式架构。(原创作者:VBA匠人)

千万级数据依然能秒级运行,方法是用MySQL作为承载数据的容器,实现数据互通,拆掉用Excel表存放数据的烟囱。同时可以通过建立守护进程保护程序不崩溃,通过数组、字典等组件提升运行效率,再进一步通过Redis缓存关键数据。方法永远比问题多。

生态与价值:不被看见的优势

VBA有一个其他语言难以比拟的优势:与Office的无缝集成。试问谁的电脑上没有装Excel?如果想将系统功能集成到Excel菜单中,VBA无疑是最优选择。更关键的是它的亲民性——稍懂VBA的老板可能直接就搞定了小问题,这在其他语言中是难以想象的。

VBA生态的特殊之处在于,其用户大多是业务专家(财务、运营、数据分析师),而非全职程序员。他们不需要精通计算机科学,只需掌握VBA就能解决工作中的实际问题。这种低门槛使得VBA成为了非科班出身的人唯一可以接近开发者的路径。(原创作者:VBA匠人)

用VBA做的系统还可以封装成安装包,像大多数软件一样,双击下一步完成安装,在桌面或程序菜单里出现启动图标。对使用者来说,几乎不需要重新学习。VBA能做的远不止简单的数据处理工具,哪怕像ERP这种集多种信息于一体、跨多部门协作的系统,也完全不在话下。

与时俱进:VBA在AI时代的位置

AI编程成为趋势,VBA开发者要如何定位自己?AI给的东西看起来很专业——格式整齐,术语正确,逻辑完整。但“看起来专业”和“在专业上正确”之间,可能差着一个根本性的假设错误。这种错误最难被发现,因为得先具备识别它的知识。

对VBA开发者来说,最好的方式不是成为纯粹的“AI派”或“手搓派”,而是手搓过足够多的坑,又懂得让AI去填坑的那类人。不要因为AI而放弃对VBA运行机制的理解——这是当AI出错时,唯一能救火的东西。

写在最后

VBA作为一种诞生了40年的编程语言,送走了Delphi,送走了FoxPro,送走了JBuilder,却一直存活在我们身边。抱住了Office这棵大树固然是其生存之道,但仅仅如此解释未免太过简单。新技术层出不穷,但大多数昙花一现。看TIOBE编程语言排行榜,霸屏的依然是那老几家。(原创作者:VBA匠人)

有时候,老的不一定代表过时,古典的往往也是经典的。当你吐槽VBA老旧、落伍、不入流时,可能只是停留在别人说的风言风语上,并没有真正深入掌握它,更别说精通。很多时候,当我们说某种技术不行的时候,往往不是这门技术不行,而是使用这门技术的人不行。更何况对一门存活了40年依然活跃的技术。

在高楼林立的写字间里,无论是金融分析师还是数据运营员,无论是财务出纳还是人事HR,无一例外地不想多学点VBA以提升工作中的自动化水平。从这个角度看,VBA虽然是烈士暮年,但依然壮心未已。

猜您喜欢
往期精选▼

VBA工具合集,复杂工作一键搞定

Excel VBA伙同Mysql把专业仓储系统逼到墙角

Excel + MySQL 混搭,竟搭出钢轨探伤"黑科技"

花50万买的科研平台,不如我Excel+MySQL 

MySQL+Excel+VBA让我卸载了所有金融终端

小团队根本不用买系统,Excel VBA反而更管用

我用Excel VBA,手搓了一套中英泰三语种ERP

别笑我用Excel记账,你的财务软件未必比我快

Excel VBA+ MySQL炼成的薪资管理神器

Excel VBA搭上MySQL,跑出一套生产管理ERP

这个绿油油的Excel界面,让老板放弃进销存软件

这个EXCEL VBA工具让放射科科主任提前2天下班

识别二维码

关注视频号

VBA匠人

长按

关注

立即添加星标

每天学好教程

最新文章

随机文章

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