Mysql SQL:构建表格以适应3d数据的技巧?
我想要一些关于数据库优化的指导。我有一个基本上是每天的调查,有几个滑块(所以浮动0-1)。每天,X个来自同一家公司的人将填写此表,并提交他们的价值观用于此“调查” 我的理解是,您不应该为每个用户创建表,因为这样做效率低且难以管理。因此,我不应该为每个公司创建一个表 我想要的是关于将所有这些数据放在一个表中的指导。以下是一些具体问题:Mysql SQL:构建表格以适应3d数据的技巧?,mysql,sql,database,performance,database-normalization,Mysql,Sql,Database,Performance,Database Normalization,我想要一些关于数据库优化的指导。我有一个基本上是每天的调查,有几个滑块(所以浮动0-1)。每天,X个来自同一家公司的人将填写此表,并提交他们的价值观用于此“调查” 我的理解是,您不应该为每个用户创建表,因为这样做效率低且难以管理。因此,我不应该为每个公司创建一个表 我想要的是关于将所有这些数据放在一个表中的指导。以下是一些具体问题: 如果每个公司都有一个5位数的ID,并且我要在同一个表中记录所有数据,其中一列显示ID,另一列带有时间戳,当数据达到数百万或数千万时,从某个公司(也称为5位数ID)
- 如果每个公司都有一个5位数的ID,并且我要在同一个表中记录所有数据,其中一列显示ID,另一列带有时间戳,当数据达到数百万或数千万时,从某个公司(也称为5位数ID)获取所有数据点的效率如何?
- 表的大小在多大程度上影响访问时的效率
- 如果我使用5位ID的方法,您是否建议我也为每个“调查条目”(又名行)分配自己的索引
- 你有什么一般性的建议或想法,可以用我的特殊情况来构建一张表吗
谢谢。不建议对所有数据使用一个表 我认为您可以使用很少的表(schem,一种关系表示法)对其进行建模: 注:外键表示为引用的\u表\u ID 使用此模式,您可以:
- 对多家公司进行同样的调查
- 让一个用户从不同的公司以不同的价值观进行相同的调查
- 跟踪每个问题
- 跟踪每个答案
- 问题没有数据复制当然,一旦完成,您就可以了
- 当然,您可以编写一个视图,将所有内容都放在一个表中
Users(ID,name, bla, bla, bla) --user's data
Company(ID, Name, bla, bla) --company's data
question(ID,question) --a single question
survey(ID, date, some general stuff about that survey) --track each survey
answer(ID, question_id, survey_id, user_id, company_id, answer_value) --an answer to a question (in a survey)