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 4236328
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T02:37:24+00:00 2026-05-21T02:37:24+00:00

Say I have a table like this: create table users ( user_id int not

  • 0

Say I have a table like this:

  create table users (
   user_id int not null auto_increment,
   username varchar,
   joined_at datetime,
   bio text,
   favorite_color varchar,
   favorite_band varchar
   ....
 );

Say that over time, more and more columns — like favorite_animal, favorite_city, etc. — get added to this table.
Eventually, there are like 20 or more columns.

At this point, I’m feeling like I want to move columns to a separate
user_profiles table is so I can do select * from users without
returning a large number of usually irrelevant columns (like
favorite_color). And when I do need to query by favorite_color, I can just do
something like this:

select * from users inner join user_profiles using user_id where
user_profiles.favorite_color = 'red';

Is moving columns off the main table into an “auxiliary” table a good
idea?

Or is it better to keep all the columns in the users table, and always
be explicit about the columns I want to return? E.g.

select user_id, username, last_logged_in_at, etc. etc. from users;

What performance considerations are involved here?

  • 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-21T02:37:25+00:00Added an answer on May 21, 2026 at 2:37 am

    Don’t use an auxiliary table if it’s going to contain a collection of miscellaneous fields with no conceptual cohesion.

    Do use a separate table if you can come up with a good conceptual grouping of a number of fields e.g. an Address table.

    Of course, your application has its own performance and normalisation needs, and you should only apply this advice with proper respect to your own situation.

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

Sidebar

Related Questions

Let's say, I have a normal normalized database like this: CREATE TABLE `users` (
First off I'm not sure that's the proper title for this question but hopefully
Hoping I can get some architectural advice on this. I have been given the
I am working on a social network type project, as most social networks have,
I have a asp.net webapp and I am using Jquery. I wanted to know
I've been asked to design an alarm system that would allow some users to
Edit for those who say to use tab control I would love to use
I need to implement functionality of nightly process in my applications billing module. See
Looking at a lot of tutorials on social linking systems in rails. I notice

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.