两个表数据处理问题
一、有2个表,
表1:MainTable (现有记录数在10万条左右)
字段:
id bigint自动编号
Title nvarchar(30)
SubId nvarchar(max)
表2:SubTable (现有记录数在300万条左右)
字段:
id bigint自动编号
Description nvarchar(100)
二、现在需要做的是,判断MainTable中的Title是否出现在SubTable表的Description中,如果有的话,则将SubTable的ID值记录到MainTable表的Subid中。
三、现在用VBS的实现方法是:
sql = "select id from SubTable Where Description like '%" & Title & "%' order by id"
rs.open sql,conn,1,1
然后再通过rs.movenext一条一条记录SubTable的id号后再存到MainTable的SubId字段中
这种方法目前可以实现想要的效果,可是太慢,平均1秒中才能完成MainTable的一条记录模糊匹配,10万条记录需要100000秒,全部处理完大概需要27个小时,非常慢。
请问有没有其他办法来实现?
相关推荐
【数据库管理】SQL查询优化与常见问题解析:数据处理、连接表及参数设置技巧总结
内容概要:本文总结了在编写SQL查询和处理数据过程中遇到的各种常见问题及其解决方案,涵盖连表操作、分组统计、聚合函数使用、条件限制、时间参数处理等多个方面。文中详细介绍了如何避免笛卡尔积、正确使用`GROUP BY`语句、处理求和与计数、优化`WHERE`条件、解决时间控件问题、处理重复数据、实现参数联动、自连接递归查询、数据去重、连接表时的注意事项、时间进度计算、日期格式转换等。此外,还提供了关于SQL性能优化、报表设置、数据展示等方面的实用技巧。 适合人群:具备一定SQL基础的数据分析师、数据库管理员以及从事数据处理工作的开发人员。 使用场景及目标:①帮助用户在编写复杂SQL查询时避免常见的语法和逻辑错误;②提供优化查询性能的具体方法;③解决帆软报表、EAS系统等特定工具中遇到的数据处理难题;④提高数据处理效率,确保查询结果的准确性。 其他说明:本文不仅提供了具体的SQL语句示例,还解释了每种问题背后的技术原理,帮助读者理解为何会出现这些问题以及如何从根本上解决问题。建议读者在实践中不断积累经验,结合本文提供的方法和技术,逐步提升自己的SQL技能和数据处理能力。
两个表中查询出不同的数据
NULL 博文链接:https://nicegege.iteye.com/blog/1604109
电力系统自动化远程抄表技术的重要性及其问题分析.docx
...
解决python读取几千万行的大表内存问题
Python导数据的时候,需要在一个大表上读取很大的结果集。 如果用传统的方法,Python的内存会爆掉,传统的读取方式默认在内存里缓存下所有行然后再处理,内存容易溢出 解决的方法: 1)使用SSCursor(流式游标),避免客户端占用大量内存。(这个cursor实际上没有缓存下来任何数据,它不会读取所有所有到内存中,它的做法是从储存块中读取记录,并且一条一条返回给你。) 2)使用迭代器而不用fetchall,即省内存又能很快拿到数据。 import MySQLdb.cursors conn = MySQLdb.connect(host='ip\u5730\u5740', user='\u7528\u6237\u540d', passwd=
GAMIT软件GPS测量数据处理流程及常见问题分析和处理.pdf
#资源达人分享计划#


