Avatar billede ravnborg Nybegynder
18. april 2010 - 01:11 Der er 4 kommentarer og
1 løsning

Sæt indhold af 2 db-udtræk sammen til en variabel.

Jeg vil gerne lave en variabel, hvis navn er en sammenkodning mellem 2 udtræk fra min database.

Så jeg ud fra rs("navn") og rs("efternavn") får en variabel, der feks hedder Svend_Pedersen der så kan indeholde en tilfældig værdi.

hvordan gør jeg det?
Avatar billede softspot Forsker
18. april 2010 - 01:23 #1
Øh, dynamisk oprettelse af variable er ikke tilrådeligt. Det er gustent at fejlfinde og det performer som regel ikke så godt som kode fortolkeren kan oversætte ved indlæsningen.

Hvad er det du vil opnå? Der er nok en anden og mere hesigtsmæssig måde at gøre det på...
Avatar billede ravnborg Nybegynder
19. april 2010 - 22:08 #2
Jeg har siddet og kikket lidt på det.

Det med dynamisk oprettelse af variable, er mest for at mindske presset på min database.
Jeg sidder med en løsningsmodel, hvor jeg så skal lave mange små udtræk fra databasen, i stedet for et stort.

Hvilken betydning har det tidsmæssigt, hvis jeg laver 20 udtræk hvor hver indeholder 5% af min data, istedet for et udtræk med 100%?

Er der andre fordele/ulemper ved at lave flere små udtræk, end et stort?

Min database er mysql
Avatar billede softspot Forsker
19. april 2010 - 22:25 #3
Det er som regel altid en god idé at samle så meget som muligt i ét udtræk (hvis altså datastrukturen og naturen af det udtræk man laver tillader dette). Dog skal vi være enige om at jeg taler om udtræk som ligger indenfor det behov der til hver en tid måtte være for at kunne præsentere de data der nu engang skal præsenteres på et givet skærmbillede, dvs. hvis du har en side som er pagineret, så er det altså kun data indenfor denne side der er tale om skal udtrækkes. jeg kan ikke helt gennemskue om det rent faktisk er det du mener, eller om du tænker på samling af flere tabellers data i ét udtræk (typisk kendt som JOIN). Jeg antager herunder at det er JOIN du tænker på.

Der sker en masse forhandling og transport af data når der skal oprettes en forbindelse til en database, hvilket i nogen grad skal gøres hver gang du forespørger databasen og vil dermed være sløvere end ét større kald til databasen. Der kan til tider vindes mange 100% i hastighedsforbedringer ved at lavet et JOIN på flere tabller i stedet for at gøre dette i ASP-siden i en løkke. Men igen kræver det altså at data tillader dette, for det er ikke altid data hænger sådan sammen at det kan lade sig gøre.

Hvis du f.eks. finder dig selv siddende i en løkke og lave enkeltrække-opslag i en sekundær tabel på grundlag af en fremmednøgle i en primær tabel, så har du en kandidat til en join-operation i din SQL.

Jeg har ingen erfaring med MySQL, så jeg kan ikke give dig konkrete eksempler på hvordan dette gøres, men princippet er med rimelig stor sandsynlighed det samme som de fleste andre relationelle DBMS'er.
Avatar billede ravnborg Nybegynder
06. juni 2010 - 19:12 #4
Jeg tror, jeg har en lille ide, om hvordan jeg nu løser dette problem, men udsætter det til sommerferien.

Tak for hjælpen. Softspot opret bare et svar.
Avatar billede softspot Forsker
06. juni 2010 - 20:29 #5
Velbekomme :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester