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

kopiering til midlertidig tabel tager lang tid

Midlertidig tabel er muligvis ikke den bedste mulighed, afhængigt af hvad du forsøger at opnå... Det kan være nyttigt at oprette en tabel med en vis datakonsolidering for at indsnævre omfanget af de næste par anmodninger, men det er sjældent effektivt at gøre det.

Midlertidige tabeller kan heller ikke tilgås flere gange, så en rigtig tabel ville være nødvendig.

Oprettelsen af ​​en tabel kræver diskskrivning, hvilket er meget mindre effektivt end et rent udvalg i RAM'en. Ved hjælp af cachemetoder kan du meget hurtigt hente resultatet af et tidligere valg. Du kan bruge det valg som FROM-delen af ​​dine forespørgsler for at gøre det hurtigere end at samle i en enorm database. Men selv da...

Vi udvikler på et datasæt på ca. 1To, store forespørgsler er fundprodukter i henhold til brugernes rettigheder (kategori, butik,...) vi har forsøgt at lave en tabel for hver bruger, der peger på de produkter, han har rettighederne til og brug derefter den tabel til at hente dataene uden at kræve store betingelser, men det var stadig langsomt at bruge SSD. Så vi har lige dumpet kæmpe RAM på serveren, og den SELECT, som vi ville have brugt til at udfylde de midlertidige tabeller, køres for hver bruger ved login og bruges derefter som FROM, og alt er perfekt.




  1. Brug af en variabel i WHERE-sætningen

  2. Sådan gulvnumre i SQL

  3. Tæl poster, der starter med bestemte bogstaver

  4. NetBeans IDE under Oracle