【问题标题】:Does Relations between tables in database speed up performance of queries?数据库中表之间的关系是否加快了查询的性能?
【发布时间】:2019-01-30 16:58:08
【问题描述】:

我在查询中使用了联接,我想知道数据库表之间的关系是否会提高查询的性能。

谢谢。

【问题讨论】:

    标签: mysql database-relations


    【解决方案1】:

    为了提高性能,您应该使用索引,同时使用适当的数据类型(将数字存储为字符串会占用更多空间并且比较可能效率较低)。

    表之间的关系,即外键是约束,所以你不能在不引用其他表中的记录的情况下向引用的表输入新值 - 这是一种保持数据完整性的方法,例如。

    Table1
    id  table2_id
    1   1
    2   1
    3   3
    
    Table2
    id  some_column
    1   123
    2   123
    3   null
    

    在这里,Table1.table2_id 引用 Table2.id。现在您将无法将这样的行插入Table1:4, 4,因为Table2 中没有id = 4

    【讨论】:

    • Relations 使您能够将值设置为空,甚至在删除相关内容时删除整行
    • @DamianDziaduch 好吧,这不是 OP 要求的,但你是对的。这是另一个主题,删除引用记录时该怎么办:引发错误,级联删除,将引用行更新为空:)
    猜你喜欢
    • 1970-01-01
    • 2012-12-28
    • 2015-09-15
    • 2011-12-27
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2023-03-07
    相关资源
    最近更新 更多