Flersproget hjemmeside - performance
Jeg skal til at omskrive mit website, således at det kan vises på flere sprog. Jeg har valgt at bruge en mysql-tabel til at gemme alt tekst i. Tekst-databasen har følgende kolonner:record_id,text_id,language_id,text
Mit spørgsmål går på hvordan jeg rent arkitektonisk skal opbygge siden. Sagen er den, at siden er meget dynamisk - og en bestemt fil, fx post.php, kan udskrive mange forskellige tekster alt efter om man er i færd med fx at slette post eller skrive et brev.
Jeg vil jo helst hente tekst fra mysql så få gange som muligt pr. sidevisning, men jeg vil heller ikke hente for meget tekst, som måske ikke bliver brugt på siden, da dette kan gå hen og æde for mange ram.
Jeg har skrevet en lille "text-loader-klasse", som håndterer teksterne. Den anvender
SELECT text FROM site_texts WHERE language_id = '1' AND text_id IN (1, 2, 3)
til at hente teksten ud med. Dette kald bliver kørt i min header-fil og henter den "obligatoriske" tekst som ALTID skal vises (fx menupunkt-teksterne og den tekst som den givne side altid skal vise). Men som nævnt bliver tekster som "Du indtastede forkert login" jo ikke altid vist på login-siden fx. Så derfor er det ikke særlig smart at hente denne tekst hver gang, hvis den ikke skal bruges!
Og menuen bliver printet før "korrekt-login-tjekket" udføres, så derfor kan jeg ikke hente "Du indtastede forkert login"-teksten sammen med de andre tekster men er nødt til at gøre det i et "senere kald" - dette medfører jo af gode grunde flere kald til mysql-tabellen hvilket er negativt, da det tager ekstra tid.
Så er spørgsmålet:
Er det bedst at hente samtlige tekster som MULIGVIS bliver vist på en given side? Det vil putte en masse tekster ind i et stooort array som vil spise ram - tekster som måske ikke engang skal anvendes til at vise den side brugeren anmoder om.
Eller er det bedre at søge efter tekster 2-5 gange alt efter hvilken tekst man får behov for i takt med at scriptet gennemløbes?
Eller allerbedst: findes der en anden alternativ måde, som gør at man kun skal hente teksterne én gang- og at man kun henter de tekster man har behov for?
Idéer/forslag er meget meget velkomne.
Jeg beklager at spørgsmålet er blevet lidt rodet, men jeg synes det ret svært at forklare.
På forhånd tak.
