已有57人关注
c#如何快速的查询重复的数据
发表在C#图书答疑 2020-05-13 悬赏:1 学分 《C#从入门到精通(第4版)》第14章 DataGridView数据控件
是否精华
版块置顶:

想要抓取数据库中重复的内容(得分A,得分B,得分C都相等的人),现在我是这样编程的:

  1. 从数据库导入Dataset,填充到Datatable

  2. 然后做嵌套循环,做条件判断dt.Rows[i][2].Equals(dt.Rows[j][2]) &&dt.Rows[i][3].Equals(dt.Rows[j][3])&&dt.Rows[i][4].Equals(dt.Rows[j][4])。满足条件的行,填充到另一个表中。

  3. 用gridview显示。

QuestionJPG.JPG

请教各位老师和同学,当数据量很大的时候,这种方法效率不高,有时候需要等个1,2分钟才能显示结果。请问如何优化比较好:

  1. 从SQL命令优化如何做到。在抓取数据的时候,只抓取scoreA,scoreB,scoreC完全重复的行。(百度的方法并不适用:select * from vitae a where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) 

  2. 从后端编程如何优化,有没有相对效率高的方法。比如linq,求教针对这个情况的案例。

谢谢大家。


分享到:
精彩评论 2
小禾斗
学分:7318 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2020-05-15
沙发

SQL语句中使用distinct关键字试一下,或者写成存储过程,在程序里调用,看看执行效率。

凹凸曼_1593526457
学分:1 LV1
2020-06-30
板凳

直接SELECT * from score where ScoreA = ScoreB and ScoreB= ScoreC 不行吗?

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照