suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php - Dem System können mehrere Shops hinzugefügt werden, und jeder Shop verfügt über Transaktionsdatensätze. Wie entwerfe ich eine Tabelle?

Meine Idee ist, dass Shop eine Tabelle ist, in der Shop-Informationen gespeichert werden.
Dann gibt es eine Transaktionstabelle mit dem Feld shop_id, in der die Transaktionsdatensatzinformationen aller Shops gespeichert sind.

Wird ein solches Tabellendesign Auswirkungen haben, wenn die Datenmenge groß ist? Gibt es eine bessere Möglichkeit, den Transaktionsdatensatz jedes Geschäfts in einer Tabelle zu speichern, aber es scheint schwierig zu sein, sie zu implementieren, da Geschäfte dynamisch hinzugefügt werden können?

为情所困为情所困2742 Tage vor558

Antworte allen(2)Ich werde antworten

  • 黄舟

    黄舟2017-05-24 11:36:14

    Mysql 在上千上万条记录中表现很好,这种设计可以跑的同,但是一个商铺有十个订单平均,那么商铺和订单数据是10倍映射,当订单数量相当大的时候影响性能。数据库表也可以动态添加啊。所以你可以对订单记录进行分表处理。但是不能用自增的shop_id 作为外键,因为你分表后,自增的id 基数回到零,就算可以手动设置,这样很不方便,所以外键最好自己生成,方便分表。生成唯一id的方法很多,你可以自己设计一套。

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-24 11:36:14

    我的理解就是设计一个商铺表,还有一个交易表,交易表的外键是商铺表的主键,总的来说,MySQL还是可以抗住很大的压力的,再就是可以利用一些开源的解决方案,或者订单表做定期分表,关键看你怎么实现。

    纠正一下我上面说的,其实我在开发中很少用到外键,外键这个东西是一个双刃剑,建议看一下为什么在开发中尽量避免用外键

    Antwort
    0
  • StornierenAntwort