sql >> Database teknologi >  >> RDS >> Mysql

MySQL JOIN ydeevne på 1 stort bord og flere små borde

Da det er et "en til mange" forhold, ville jeg gemme dem i en separat tabel. SQL-serveren forespørgselsoptimering (under motorhjelmen) vil være i stand til at parse de 250 poster hurtigt nok til, at det ikke burde være et problem. Afhængigt af længden af ​​værdierne i den mindre tabel, vil du også spare lagerplads ved ikke at gemme dem flere hundrede millioner gange. Men hvis rapporteringsydelsen er af største vigtighed, kan du vælge at gemme dem i én "fladet" tabel - som en datavarehusstruktur, uden joinforbindelserne. Det vil helt sikkert være hurtigere, men du ville ofre lagerplads og din pænt strukturerede relationsdatabase.

Når det er sagt, ville jeg gå med mulighed 1. Men du burde nemt kunne gemme dataene i en ny tabel med formatet option 2 - forespørg mod dem begge - og derefter måle ydeevnen for dig selv. Jeg forventer, at det ikke vil være den store forskel, især i betragtning af kapaciteten på dine mindre borde.



  1. Oracle SQL til at konvertere relaterede rækker til en enkelt række

  2. parse.com open source-alternativer til backend

  3. Oracle SQL Where-klausul for at finde datoposter, der er ældre end 30 dage

  4. htaccess url omskrivning (db adgang)?