我有两个DataBase表(SQL CE)。 教师表和A 类表。这两个表具有一对多关系,其中一个教师有许多类(即类具有外键 teacher_id )。在运行时通过C#代码插入(或生成)教师(行)的数量,以及类
以下哪项在INSERT和SELECT中更快?
答案 0 :(得分:5)
无论哪个更快,(2)是要走的路....只需创建索引来支持您的搜索。这就是几乎所有关系数据库的使用方式。
维持选项(1)的噩梦让我不寒而栗
答案 1 :(得分:1)
好的,从哪里开始。首先,教师和班级之间的关系可能是多对多的,但正如你所描述的那样至少是一对多。
第一种选择绝对是错误的选择。永远不要动态创建表。第二种选择是如何处理这种事情。数据库功能强大,由非常聪明的人(通常)编写,并且可以处理比特定学校的所有学生更多的行。
只要您正确索引表格,它们就可以轻松支持数亿条记录。
答案 2 :(得分:0)
我也同意米奇麦。因为当您创建索引时,您的表会根据我们的教师进行物理排序。创建组合索引(Teacher_Id,Class_Id)。 虽然它有助于快速检索选择状态。
答案 3 :(得分:0)
除非您已经遇到性能问题,否则我不会担心它们。除了行数之外,有许多事情可能导致性能问题,并且应该根据它们的不同来处理它们。您需要更多地担心表中影响性能的列数,而不是关于行数。也是数据库的并发连接数。表中的一百万行并不多,其他两个项与许多行相结合会使数据库变慢。你应该使用第二个选项。