为什么在较高 ID 上选择/更新内连接需要更长的时间,有解决办法吗?
我有两张表,一张有约 25 万条记录,一张有约 150 万条记录。
我正在使用内部联接进行选择和/或更新。
它挂了,所以我决定分批进行,例如
Where ID<100000
,然后
Where ID>=100000 and ID<200000
每个连续的批次都需要越来越长的时间。当然,问题还在于可能有一些记录会加入而不会被批次分开。
我很好奇为什么会这样(为什么前 100k 个 ID 加入得很快,而最后 100k 个 ID 需要更长的时间),以及是否有一种方法可以作为单个查询执行,而无需 ID 成为问题(如果它们事实上是)。
I have two tables, one with ~250k records one with ~1.5M records.
I am doing a Select and/or Update using Inner Join.
It hung so I decided to to in batches e.g.
Where ID<100000
then
Where ID>=100000 and ID<200000
with each successive batch it takes longer and longer. Adding to the issue of course is there might be records that would have joined w/o being separated by batches.
I'm curious why that is (why do the first 100k IDs join fast and the last 100k take so much longer) and if there is a way to do as a single query w/o the IDs becoming a/the issue (if they in fact are).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论