Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8390287
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T18:56:35+00:00 2026-06-09T18:56:35+00:00

I have a big loop that updates a 2,800,000 records Access Database, i divided

  • 0

I have a big loop that updates a 2,800,000 records Access Database, i divided the loop to 7 threads so each threads work on 400,000 records, the loop takes about 0.7 seconds to update a single record because there are alot of calculations to be done.

i am sure the threads will help to make the process much faster because i tested the application on 7200RPM HDD and SSD and a ramdisk and the speed difference is not really noticeable so IO is not the bottleneck.

i want the first thread to process the first 400k records and the second thread to process the next 400k records and so on.

-what would be the right way to do this?

-should each thread has its own datatable and binding source?

-how would you combine the results in one table and show it in a datagridview when the process is done?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T18:56:37+00:00Added an answer on June 9, 2026 at 6:56 pm

    An access database is simply a file. At the point of reading and writing to it, you are going to bottleneck, on top of that, there’s a significant chance of it being corrupted doing something like this. Imagine doing the same thing with an xml file of the data.

    All depends on what you are doing to the data.
    If there was no change to any columns in any keys or indexes, and not all records will read / changed. Then one thread to read and write and a pool to process might get you somewhere. The processing would have to be significant enough to make it worthwhile spinning up more than one thread though. As it is they are going to waiting on disk io unless there’s a significant amount of it.
    If you have indexes that will changes and you don’t have to use them in the operation. Drop them, process then put them back again.

    If you are making significant changes to the data then maybe

    One read thread from the existing db
    Then create seven (might want to adjust this based on a sensible number of processors)
    empty database with just this table in it
    Read from the parent, throw into a processor pool (if it it’s worth having one), then write to one of the “seven” copies
    Then clear out the original and write the data back from the others (serially and put it back together)

    All that said drop access, use a full dbms, because you would have probably seen some of the improvement you’d have expected.

    Something to bear in mind when parallel processing. Where’s the bottleneck? In your case probably disk IO, multiple threads did not address that, you just ended up with seven threads twiddling their thumbs waiting for the disk drive.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Guys, I have the following code that is inside a big while loop that
I have a big loop in actionscript that sends lots of data to an
I have a VB.net application with an Access Database with one table that contains
I have big system that make my system crash hard. When I boot up,
I have big element at the top of the webpage that sides down with
I have big records to copy values from table B to table A. Currently
I have this big function (1300+ lines of code) that takes data from the
I have a problem with a loop that requires a decreasing number of operations
I'm having this problem, where basically, I have a big array, that I break
I have some existing code that is querying a SQL database repeatedly with different

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.