J'importe des données à une future base de données qui aura une table statique, MyISAM (sera seulement lu à partir de). J'ai choisi MyISAM parce que pour autant que je comprenne c'est plus rapide pour mes conditions (je ne suis pas très expérimenté avec MySQL/SQL du tout).Normaliser la base de données ou non? Lecture seule table MyISAM, la performance est la priorité principale (MySQL)
Cette table comportera plusieurs colonnes telles que ID, Nom, Sexe, Téléphone, Statut ... et les colonnes Pays, Ville et Rue. Maintenant, la question est, dois-je créer des tables (par exemple Country: Country_ID, Country_Name) pour les 3 dernières colonnes et se référer à eux dans la table principale par ID (normalize ... [?]), Ou simplement les stocker comme VARCHAR dans le table principale (ayant des doublons, évidemment)?
Ma principale préoccupation est la rapidité - puisque la table ne sera pas écrite, l'intégrité des données n'est pas une priorité. Les seules actions seront la sélection d'une ligne spécifique ou la recherche de lignes répondant à certains critères.
Est-ce que la recherche par les colonnes Pays, Ville et/ou Rue (et éventuellement d'autres colonnes dans la même recherche) serait plus rapide si j'utilisais simplement VARCHAR?
EDIT: La table contient environ 30 colonnes et environ 10m lignes.
Avez-vous envisagé d'autres mécanismes de stockage? MySQL peut vous coûter plus cher que vous n'avez pas besoin de payer à cause des capacités que vous n'utilisez pas. Vous pouvez trouver quelques solutions de rechange ici: http://en.wikipedia.org/wiki/Nosql http://en.wikipedia.org/wiki/Embedded_database –