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

  • SEARCH
  • Home
  • 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 6338365
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T19:25:49+00:00 2026-05-24T19:25:49+00:00

I have a scenario where multiple users will be doing import processes, but all

  • 0

I have a scenario where multiple users will be doing import processes, but all of them will be working for different clients.

I have one core table which gets the most hits whenever import processes run. I have 2 options now

  1. To have one core table and do the sequential imports by making queue for the import processes.
  2. To have 300 core table, one for each client, it will allow the users to work on the import processes simultaneously without waiting for one another.

Can anyone suggest which one is better and why?


I am giving my requirements in more detailed this time. Can you all once again have a look at and provide your comments after going through the requirements.

The query is regarding data modeling for core functionality of my application.

I have a scenario where multiple users will be doing import processes, but all of them will be working for different clients. Also, at the same time client’s data could be shown to the user and can be modified/inserted too, while the import process for the same or different client is in process.

I have 2 core tables which get the most hits whenever import processes run.

I have 2 options now
1. To have 2 core tables and do the sequential imports by making queue for the import processes.

Table 1

ID
ClientID
SourceID
Count
AnotherCol1
AnotherCol2
AnotherCol3

Table 2

ID
ClientID
OrderID
Count
AnotherCol4
AnotherCol5
AnotherCol6

  1. To have 1000 core table, 2 for each client (I may have maximum 500 clients), it will allow the users to work on the import processes simultaneously without waiting for one another.

More information about the import process:
1. These table is not going to be used in any Reporting.
2. Each import process will insert 20k-30k records (7 columns) in these each table. And there will be around 40-50 such imports in a day.
3. While the import process is going on, data could be retrieved from these tables by some other user and INSERT OR UPDATED too.
4. These are going to be one of the most usable tables in the application.
5. BULK INSERT will be used for insertion.
6. Clustered index is on the Primary Key which is an Identity column.
7. We are considering the table partitioning too.

Can you please suggest which option is better and why?

Also, if you suggest to go with option 2, then would it not be a performance hit to create so many tables in the database? Should we create a separate database for these 1000 tables in this case?


I am giving my requirements in more detailed this time. Can you all once again have a look at and provide your comments after going through the requirements.

The query is regarding data modeling for core functionality of my application.

I have a scenario where multiple users will be doing import processes, but all of them will be working for different clients. Also, at the same time client’s data could be shown to the user and can be modified/inserted too, while the import process for the same or different client is in process.

I have 2 core tables which get the most hits whenever import processes run.

I have 2 options now
1. To have 2 core tables and do the sequential imports by making queue for the import processes.

Table 1

ID
ClientID
SourceID
Count
AnotherCol1
AnotherCol2
AnotherCol3

Table 2

ID
ClientID
OrderID
Count
AnotherCol4
AnotherCol5
AnotherCol6

  1. To have 1000 core table, 2 for each client (I may have maximum 500 clients), it will allow the users to work on the import processes simultaneously without waiting for one another.

More information about the import process:
1. These table is not going to be used in any Reporting.
2. Each import process will insert 20k-30k records (7 columns) in these each table. And there will be around 40-50 such imports in a day.
3. While the import process is going on, data could be retrieved from these tables by some other user and INSERT OR UPDATED too.
4. These are going to be one of the most usable tables in the application.
5. BULK INSERT will be used for insertion.
6. Clustered index is on the Primary Key which is an Identity column.
7. We are considering the table partitioning too.

Can you please suggest which option is better and why?

Also, if you suggest to go with option 2, then would it not be a performance hit to create so many tables in the database? Should we create a separate database for these 1000 tables in this case?

  • 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-05-24T19:25:50+00:00Added an answer on May 24, 2026 at 7:25 pm

    Another option is a third scenario where you have a single table, but you still can do the imports in parallel by having a batch identifier in the table which stops people stepping on each other.

    The main problem with having multiple people in the same table is that you cannot do things like TRUNCATE.

    For me the decision would be related to about where the data eventually goes. Is this just a staging table for convenience because there is going to be some SQL for transform or lookup run against it after load? Would it be possible to make such tables in a separate database or schema and with unique names which would make it easy for them to be cleaned up without interfering with or bloating the transaction log in your primary database> Do you need to insert in bulk, then apply indexes and eventually drop the table? Is such a table even necessary if you are using SSIS to load the data, you can often do a lot of work in the pipeline without needing a staging table?

    All these things would play into my decision making process on the architecture.

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

Sidebar

Related Questions

Scenario: I have several services that I want to be discovered by different clients.
I have a scenario where I have multiple threads adding to a queue and
I have a scenario where I need to upload a file from one web
I have a scenario where users of my ASP.NET web application submit testimonials consisting
this is the scenario: multiple web systems (mostly lampp/wampp) exist, most of them with
The scenario: Big system (~200 tables). 60,000 users. Complex reports that will require me
I have a scenario where I need to open multiple datacontexts which point to
Here is my situation. I have a server application designed for multiple users to
Scenario: I have a web page with multiple charts and I have an 'Export
Scenario : I have say 4 check boxes and users can select those checkboxes

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.