有一个winform程序
一个只有一列的datagridview,是几千条(也有可能是几万条)身份证号记录(此数据是从excel导入的)
数据库中有10多万条客户信息(如姓名、身份证、联系方式等)
然后我想实现的功能是,根据datagridview内的身份证数据,从数据中查出该身份证对应的相关信息,并在另一个datagridview中展现出来。
我现在使用的方法是 select * where sfzh in (),的办法,(注,in 函数不能超过1000条的问题已经解决,使用 拼接or in ()的方法
现在的问题是:
程序运行很慢,查询3000条数据,要10多分钟。
求助:如何查会快一些呢?
我觉得 in 当数据量大了是会变成非常慢的!
你现在的速度太慢了, 3000条数据 10分钟!
我有2个比较笨的办法了,
第一 我觉得 or in 的速度也不会太快吧 还不如in 里面少一点数据 然后多线程 或者多次去取!
第二 建立一个临时表 然后 把3000条数据插入 然后再用 exists 进行关联查询 我觉得这个1分钟左右一定可以完成吧!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。