Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Datenbanken, Server, Betriebssysteme und sonstige Programmiersprachen > Datenbanken > [MySQL] Zufallsdatensätze zu Kategorien optimiert

Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 26.12.2007, 23:13 Nach oben    #1
robo47
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.049
Standard [MySQL] Zufallsdatensätze zu Kategorien optimiert

Also, ich versuche gerade zu vermeiden in einer Schleife die gewünschten Datensätze abzufragen, nur leider habe ich absolut keine Idee wie ich das schaffen soll.

Es geht um flgens, für 60 Kategorien die existieren, jeweils eine feste Anzahl (10) zufällige Datensätze abzurufen und das will ich möglichst "einfach" gestalten.
aktuell wird das mit einem Query für die Kategorien und dann einem Query für jede Kategorie gemacht um an die Einträge zu kommen. Das sind dann 61 Querys für

aus den 61 Querys würde ich gerne 1 oder 2 Querys (1 Für die Kategorien abzurufen und 1 dann für die Daten ?) machen, wenn das möglich ist.

tabellen:
kategorien (60 Datensätze)
Kategorie_ID | Name | Wert2 | ....
zuordnung: ( ~ 10.000 Datensätze)
Kategorie_ID | Eintrags_ID
einträge ( ~ 10.000 Datensätze)
Eintrags_ID | Name | Wert2 .....


Ein Lösung über einen Cache oder ähnliches wird nicht gesucht! Die Daten sollen bei jedem Aufruf auch neu generiert werden.

Serverseitig steht MySQL 5.0 zur Verfügung.

Leider stehe ich aktuell etwas auf dem Schlauch wie ich meine "Wünsche" in 1-2 Querys fassen könnte.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2007, 16:18 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 3.812
Standard

An so einer Problemstellung bin ich ebenfalls schon mal gescheitert.
Wenn du eine Lösung findest oder halt irgendwer anders .. danke für die Erläuterung.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2007, 17:05 Nach oben    #3
robo47
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.049
Standard

Naja, ne Idee die ich letzte Nacht noch hatte, hab ich gerade ausgetestet und die funktioniert, ist zwar nicht ganz das was ich mir vorgestellt habe, aber der Overhead von mehreren Querys fällt weg und ich erreiche als Ergebnis genau das was ich wollte:

Code:
(query1)
UNION
(query2)
UNION
(query3)
......
Wichtig sind die Klammern um jedes Query, nur so kann man in jedem Query ORDER und LIMIT verwenden.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2007, 17:17 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 3.812
Standard

Ah, okay. UNION hab ich bisher nicht wirklich wahrgenommen.

Kann dann natürlich durchaus auch ein recht zeitintensiver Aufruf sein.
Auch, wenn die Lösung für dich da nicht in Frage kommt. Ich glaube, dass für mich eine Caching-Lösung auf jeden Fall interessant ist. Ob nun mit vielen SQL-Statements oder mit dem UNION ist dabei ja erstmal egal.

Muss man wahrscheinlich einfach mal ausprobieren, was da mehr Last produziert.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« Inhalt einer JTable in DB schreiben | Geburtstagsliste - wie der query? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:43 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44