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

感觉头皮发麻

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

    @frankyzf 麻烦再看一下,如上所述
        5
    a194259440   2018-11-07 15:48:27 +08:00
    完了,只能断点打在 SQL 语句上进行调试,调到底就好了,笨方法~
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   895 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 32ms · UTC 21:16 · PVG 05:16 · LAX 13:16 · JFK 16:16
    ♥ Do have faith in what you're doing.