V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a194259440
V2EX  ›  C#

感觉头皮发麻

  •  
  •   a194259440 · 2018-11-06 12:01:13 +08:00 · 4179 次点击
    这是一个创建于 2213 天前的主题,其中的信息可能已经有所发展或是发生改变。
    关于维护查询的语句的工单弄得我很"蕉灼",产品统计出某个一般处理程序中一次访问调用了哪几句 sql,并将 sql 的次数也统计了出来,然后需要将多次进行查询的方法进行优化,然而不想吐槽老平台,代码繁琐,昨天花了一天只弄好一个,发现是 for 里面进行查询,然而今天居然还发现,调用另一个方法,然而那个方法里面进行了 for,这还好说,关键是,现在怎么去找哪儿调用了这些 sql,有没有什么快速定位的方法。
    5 条回复    2018-11-07 15:48:27 +08:00
    kslr
        1
    kslr  
       2018-11-06 13:02:47 +08:00 via Android
    小米有一个开源的
    frankyzf
        2
    frankyzf  
       2018-11-06 20:51:52 +08:00 via Android
    是不是可以从数据库端查 sql 语句在代码里找?类似 profile
    a194259440
        3
    a194259440  
    OP
       2018-11-07 11:55:10 +08:00
    不是,我想知道包含 sql 语句的方法被一般处理程序调用的整个路线,比如 selectx.cs 里面有个 selectX()的方法,这个方法包含了一个查询语句,然后 x.cs 调用 y.cs 的 y(),y()里面调用了 z.cs 的 z(),然后 z()里面调用了 selectX.cs 的 selectX(),然后一般处理程序调用 z.cs 的 z(),我想要的就是显示出一般处理程序调用到 selectX()的整个路线:z.cs-z()=>y.cs-y()=>x.cs-X()=>selectX.cs-selectX(),实际上 VS 点击引用,一层一层的找就可以查看到,可是假如包含了很多层呢,这样碰运气式的查找很浪费时间
    a194259440
        4
    a194259440  
    OP
       2018-11-07 11:55:44 +08:00
    @kslr 能具体说一下吗?

    @frankyzf 麻烦再看一下,如上所述
    a194259440
        5
    a194259440  
    OP
       2018-11-07 15:48:27 +08:00
    完了,只能断点打在 SQL 语句上进行调试,调到底就好了,笨方法~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4070 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:19 · PVG 18:19 · LAX 02:19 · JFK 05:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.