Foxtable(狐表)用户栏目专家坐堂 → 请教效率


  共有1751人关注过本帖树形打印复制链接

主题:请教效率

帅哥哟,离线,有人找我吗?
hbhb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5056 积分:13057 威望:0 精华:0 注册:2014/5/15 21:34:00
请教效率  发帖心情 Post By:2018/3/20 17:14:00 [显示全部帖子]

大师:请问如果我要从后台统计行的数量,是用SQL的ExecuteScalar快?还是生成SQL临时表,再用表的compute快?

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5056 积分:13057 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2018/3/20 18:16:00 [显示全部帖子]

下面的语句如何优化
Dim st As Date = Date.Now
Dim mc As String
For Each c As DataCol In DataTables("dtpzzbwb").DataCols
    If c.IsString = True Then
        mc = c.name
        Dim cmd As New SQLCommand
        Dim nm As Integer
        cmd.C
        cmd.CommandText ="Select Count(*) Fr  om {dtpzzbwb} Where " & mc & "  = '" & "查找的字符" & "'"
        nm = cmd.ExecuteScalar
        Output.Show(c.name & "-" & nm)
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5056 积分:13057 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2018/3/20 19:10:00 [显示全部帖子]

如果用事务,我的代码怎么写?如下对不对?


Try
    Connections().BeginTransaction()
'开始事务

Dim st As Date = Date.Now
Dim mc As String
For Each c As DataCol In DataTables("dtpzzbwb").DataCols
    If c.IsString = True Then
        mc = c.name
        Dim cmd As New SQLCommand
        Dim nm As Integer
        cmd.C
        cmd.CommandText ="Select Count(*) Fr  om {dtpzzbwb} Where " & mc & "  = '" & "查找的字符" & "'"
        nm = cmd.ExecuteScalar
        Output.Show(c.name & "-" & nm)
    End If
Next
Connections("数据源").Commit '提交事务,所有操作生效
Catch
ex As Exception '如果出错
    Connections("数据源").Rollback()
'回滚事务,撤销所有操作

End
Try


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5056 积分:13057 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2018/3/20 19:18:00 [显示全部帖子]

用   这个或者组合sql语句,一次性查询,不然多次查询会很耗,如

显示查询过于复杂,怎么办?

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5056 积分:13057 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2018/3/20 19:43:00 [显示全部帖子]

我的表100多列,怎么查询语句有字数限制?

 回到顶部