vb6.0做的mysql管理系统,搜索X表中(2000条)的所有在职姓名,并在Y表中(10万条)查询相应的数据,速度非常慢,是怎么回事?

pigpal 2023-11-17 15:24:44

大侠们,我用VB做的一个MYSQL信息系统,在X表中查询在职人员,列出所有名字,有2000个,然后在Y表中查询每个人的出勤记录,Y表中有10万条数据,我需要查询每个人在Y表中符合要求的一条数据,我使用了以下代码,查询的速度非常慢,这个语句是否可以优化,从网上找了一些资料,比如建立索引之类的,我都不知道该怎么做,请大侠解答疑惑!

    Set myconn = New ADODB.Connection
    myconn.ConnectionString = strZCSJK
    myconn.Open
    
    Set myrecord = New ADODB.Recordset
    mysql = "select * from dataX"
    myrecord.Open mysql, myconn, adOpenDynamic, adLockOptimistic, adCmdText
    
    If myrecord.EOF = False Then
        
        strText = "在职"
        
        Set myrecord = New ADODB.Recordset
        mysql = "select * from dataX WHERE (dataX.X1 like " & Chr(34) & strText & Chr(34) & ") order by ID"   ‘在X表查询在职人员
        myrecord.CursorLocation = 3
        myrecord.Open mysql, myconn, adOpenDynamic, adLockOptimistic, adCmdText

        If myrecord.EOF = False Then
            
            j = myrecord.Fields.Count
            i = myrecord.RecordCount
                        
            Dim a As Integer: Dim b As Integer
            
            myrecord.MoveFirst
            
            For a = 1 To i

                For b = 1 To j

                    MSHFlexGrid1.TextMatrix(a, 1) = myrecord.Fields(0)
       
                    strText = myrecord.Fields(2)   ‘每一个在职人员的姓名

                    Set myrecord1 = New ADODB.Recordset

                    mysql1 = "select * from dataY where (dataY.Y1 like " & Chr(34) & strText & Chr(34) & ") order by ID"   ‘在Y表中查询每个在职人员的所有出勤记录
                    myrecord1.Open mysql1, myconn, adOpenDynamic, adLockOptimistic, adCmdText

                    myrecord1.MoveLast   ‘找到最后一条出勤记录或者是是中间某条符合要求的出勤记录,此处会有其他变化

                    MSHFlexGrid1.TextMatrix(a, 2) = myrecord1.Fields(2)   ‘显示最后一条出勤记录的某个事件
                    
                Next b
                
                myrecord.MoveNext
                
            Next a
  
        End If
        
    End If

 

...全文
175 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档围绕“风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真”展开,系统介绍了采用虚拟同步发电机(VSG)控制策略的风电与储能联合并网系统的建模与仿真方法。通过Simulink平台构建完整的电力系统动态模型,重点实现VSG的关键控制逻辑,以提升新能源并网的稳定性、惯性响应与频率支撑能力。文档不仅涵盖核心仿真模型,还整合了大量相关前沿研究内容,如混合储能调频、微电网优化、电动汽车可调能力评估、智能算法在电力系统中的应用等,并提供丰富的Matlab/Simulink代码实例,具有较强的科研复现价值和技术参考意义。; 适合人群:具备电力系统基础理论知识和Matlab/Simulink仿真能力的研究生、科研人员及从事新能源发电、储能控制、智能电网等领域工作的工程技术人员;特别适用于正在开展风储协同控制、虚拟同步机、构网型变流器等相关课题研究的高校师生。; 使用场景及目标:① 深入理解虚拟同步发电机(VSG)在风储并网系统中的控制原理与技术优势;② 借助提供的仿真模型与代码完成科研论文复现、算法验证与系统性能测试;③ 探索新能源高渗透背景下提升电网稳定性的关键技术路径,包括惯量模拟、一次频率响应、储能协同控制等。; 阅读建议:建议读者按照文档结构循序渐进地学习,优先下载并运行配套的Simulink模型与Matlab代码,结合VSG控制策略的设计细节进行调试与分析,同时可关注公众号“荔枝科研社”获取完整资源包及持续的技术支持,以提升科研效率与创新能力。

57,064

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧