Je crée un site Web immobilier et je me demandais s'il y avait une meilleure façon d'organiser mes colonnes ou mes tables, je ne sais pas ce qui serait la meilleure façon d'y aller, j'ai actuellement un lot em> des colonnes et je suis inquiet des problèmes de performance. P>
Les colonnes sont comme suit p>
est de plus de 110 colonnes une mauvaise pratique dans MySQL? Tout est rapide, mais je suis dans Localhost sur le Mo, mais la taille monstrueuse des tables des requêtes ralenties? Surtout si j'ai quelques centaines de propriétés? P>
suis-je ok avec ma configuration actuelle? Que serait la meilleure pratique? Comment les sites Web de commerce électronique qui ont de nombreuses options de fonctionnalités vont-ils? P>
3 Réponses :
Très probablement, les fonctionnalités de la propriété seront mieux stockées dans une table séparée, avec une ligne par fonction de propriété plutôt que comme des colonnes de votre table principale. Je comprends cela comme une relation nombreuses à plusieurs entretien et ses caractéristiques, cela suggère deux autres tables: cette structure est beaucoup plus flexible et plus facile à interroger que d'avoir une colonne. par caractéristique. Comme exemples: p> Fonctions faciles à ajouter en créant de nouvelles lignes dans les fonctions code> code> Table (dans l'ancienne structure, vous avez dû créer une nouvelle colonne) p>
li>
facile à agréger les fonctionnalités et répondez à une question comme: compter combien de fonctionnalités que chaque propriété a p>
li>
ul> comme pour les images, ils devraient avoir leur table OW. Si une image Maby appartient à plusieurs utilisateurs, il s'agit d'une relation nombreuses à plusieurs, et vous pouvez suivre le motif ci-dessus. Si chaque image appartient à un seul utilisateur, une autre table est suffisante: p>
Merci pour votre réponse! Je vais donc diviser les données en différentes tables pour le rendre plus efficace? Je suppose que chaque image n'appartiendrait à un seul utilisateur que l'idée est pour eux de télécharger leurs propres propriétés. Mais il serait toujours préférable de garder toutes les images dans une table séparée quand même,
Vous mentionnez avoir une table de fonctionnalités et avoir 1 ligne par fonctionnalité, comment puis-je associer chaque fonctionnalité à la propriété (à vendre) en question. Dois-je simplement ajouter une colonne de fonctionnalité dans la table de propriétés et stocker les fonctionnalités que l'établissement a une corde comme. "1,5,8,14,17,23,24,35"?
@Dominicormston: vous ajoutez plus lignes i> au Property_Features Code> Table: Chaque ligne représente une boîte de propriété / fonctionnalité. Essayez de vous aider «SQL Beaucoup à plusieurs» si le concept n'est pas clair pour vous.
Un schéma Star sera inefficace pour interroger.
Ce n'est pas une bonne pratique car les données peuvent être stockées dans des tables séparées. Ce qui vous aiderait au-delà de créer un ER pour visualiser comment vous pouvez organiser vos tables. Même si vous ne comprenez pas les instances des ERD, vous pouvez toujours l'utiliser pour organiser au moins vos pensées. P>
Il semble que vous ayez déjà vos tables séparées en fonction des points de balle que vous avez apportés dans votre question. Une chose que j'ajouterais à vos balles, c'est peut-être briser vos fonctionnalités en catégories et créer une table pour chacun. P>
Par exemple, des piscines et du bord de la rivière peuvent être placées dans une table appelée PaysageCeatures ou de l'extérieur. P> blockQuote>
une table: p>
Colonne Code> Colonne et mettre des "mots" en elle pour un Fulltext code> index. S'il s'agit de ventes à la maison, considérez des mots comme «la fosse septique de piscine Gazebo Eichler». Cela aidera à certaines requêtes de type "booléennes". (Si vous aimez cette idée, discutons de la manière d'utiliser le filtrage avec des index et / ou du remplissage complet; il devient difficile.) Li>
- Mettez le reste dans un JSON (ou
texte code>). Faire pas em> plan pour la chercher; Au lieu de cela, apportez la ligne dans votre code d'application pour un filtrage supplémentaire après la recherche du index code> li>
ul>