Maison > Questions et réponses > le corps du texte
Mon idée est que shop est un tableau utilisé pour sauvegarder les informations du magasin.
Ensuite, il existe une table de transactions avec le champ shop_id, qui stocke les informations d'enregistrement des transactions de tous les magasins.
Une telle conception de table aura-t-elle un impact lorsque la quantité de données est importante ? Existe-t-il une meilleure solution ? Par exemple, l'enregistrement des transactions de chaque magasin est une table, mais cela semble difficile à mettre en œuvre car les magasins peuvent être ajoutés dynamiquement.
黄舟2017-05-24 11:36:14
Mysql fonctionne très bien avec des milliers d'enregistrements. Cette conception peut fonctionner de la même manière, mais si un magasin a dix commandes en moyenne, alors les données du magasin et des commandes sont mappées 10 fois, ce qui affecte les performances lorsque le nombre de commandes est assez important. . Les tables de base de données peuvent également être ajoutées dynamiquement. Vous pouvez ainsi effectuer un traitement de sous-tableaux sur les enregistrements de commande. Cependant, vous ne pouvez pas utiliser le shop_id auto-incrémenté comme clé étrangère, car après avoir divisé la table, la base d'identifiant auto-incrémenté revient à zéro. Même si elle peut être définie manuellement, c'est très gênant, il est donc préférable de le faire. générez vous-même la clé étrangère pour faciliter le fractionnement de la table. Il existe de nombreuses façons de générer des identifiants uniques, et vous pouvez en concevoir un vous-même.
漂亮男人2017-05-24 11:36:14
Corrigez ce que j'ai dit ci-dessus. En fait, j'utilise rarement des clés étrangères dans le développement. Je vous suggère de jeter un œil aux raisons pour lesquelles vous devriez essayer d'éviter d'utiliser des clés étrangères dans le développement
.