SQL: Советы по структурированию таблицы для соответствия трехмерным данным?

0

Я просто хотел бы получить некоторые рекомендации по оптимизации базы данных. У меня есть то, что по сути является ежедневным опросом с парой ползунков (так что с плавающей точкой 0-1). Каждый день, количество людей из одной компании будет заполнять это, представляя свои значения для этого "опроса".

Я понимаю, что вы не должны создавать таблицы для каждого пользователя, так как это неэффективно и неуправляемо. Поэтому не стоит создавать таблицы для каждой компании.

То, что я ищу, - это руководство по размещению всех этих данных в одной таблице. Вот несколько конкретных вопросов:

  • Если у каждой компании есть 5-значный идентификатор, а я должен был записать все данные в одной таблице со столбцом, содержащим идентификатор, и столбцом с отметкой времени, то насколько эффективно было бы получить все точки данных от определенной компании (или 5-значный) ID) когда данные попадают в миллионы или десятки миллионов?
  • Насколько размер таблицы влияет на эффективность при доступе?
  • Если бы я использовал метод с 5-значным идентификатором, вы бы порекомендовали мне также назначить каждую отдельную "запись опроса" (она же строка) как таковую?
  • Есть ли у вас какие-либо общие советы или идеи для структурирования одной таблицы в моем конкретном случае?

Благодарю.

  • 4
    Я считаю ваш вопрос слишком широким, чтобы на него можно было ответить. Но, учитывая размер таблицы, несколько миллионов строк не настолько велики, что правильная индексация и настройка не могут сделать ее очень полезной для вас.
  • 0
    Может быть, это можно рассматривать как широкий, но есть два довольно конкретных вопроса. Независимо, спасибо. Это обнадеживает.
Показать ещё 1 комментарий
Теги:
database
performance
database-normalization

1 ответ

0

Я думаю, что вы могли бы смоделировать это с несколькими таблицами:

Users(ID,name, bla, bla, bla) --user data
Company(ID, Name, bla, bla) --company data
User-in_company(company_ID, user_ID) -- self-telling

question(ID,question) --a single question
answer(ID, question_id, survey_id, answer_value) --an answer to a question (in a survey)
survey(ID, date, some general stuff about that survey) --a track each survey

ПРИМЕЧАНИЕ: внешние ключи обозначаются как _ID

Ещё вопросы

Сообщество Overcoder
Наверх
Меню