Avatar billede Rune1983 Ekspert
11. januar 2018 - 15:51 Der er 2 løsninger

Hente data mellem 2 tbl - Kan det optimeres bedre ??

Jeg har lavet et system hvor jeg har punkter til et produkt og har mine tekster til punkterne i en anden tabel. Vil så gerne hente teksterne til punkterne for et givet produkt.
Kan min select nederst optimeres bedre?
******************************************
Første tabel ser sådan ud:
table_data
table_data_ID,
Produktnavn,
dataNavn01,
dataNavn02,
dataNavn03,
...,
dataNavn15
******************************************
Anden tabel ser sådan ud:
DataNavn_ID,
DataNavn
******************************************
SELECT
tb1.Produktnavn,
tx1.DataNavn AS 'DataNavn01_Data',
tx2.DataNavn AS 'DataNavn02_Data',
tx3.DataNavn AS 'DataNavn03_Data',
...
...
...
tx15.DataNavn AS 'DataNavn15_Data'

FROM table_data tb1

JOIN table_data_txt tx1
ON tx1.DataNavn_ID = tb1.dataNavn01

JOIN table_data_txt tx2
ON tx2.DataNavn_ID = tb1.dataNavn02

JOIN table_data_txt tx3
ON tx3.DataNavn_ID = tb1.dataNavn03
...
...
...
JOIN table_data_txt tx15
ON tx15.DataNavn_ID = tb1.dataNavn15

WHERE tb1.table_data_ID='123456'
Avatar billede arne_v Ekspert
11. januar 2018 - 17:14 #1
Naeppe.

Og hvis du har de rigtige indeks, saa boer det vaere hurtigt nok.
Avatar billede arne_v Ekspert
12. januar 2018 - 04:07 #2
De rigtige indeks er de 2 PK (id'erne)  og de 3 FK (dataNavn01, dataNavn02, dataNavn03).
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
Computerworld tilbyder specialiserede kurser i database-management

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