Új hozzászólás Aktív témák
-
InfiniteReality
őstag
válasz
InfiniteReality
#1042
üzenetére
Megoldottam úgy, hogy csak racionalizáltam a mezőket és minden mezőhöz megfelelőbb adattípust választottam, mint ami eddig volt (ezzel 1 mb-tal kevesebb lett a tábla mérete), illetve az olyan mezőkről amikre nem irányul sok lekérdezés illetőleg kevésbé befolyásolják a végeredményt, levettem az indexet (eddig minden mezőn volt index, ami miatt a beírás volt lassabb).
Lényeg, hogy végül hagytam az egész táblát egyben, nem csaptam szét évekre, mert a lekérdezés több erőforrást igényelt volna ha sikerül rendesen megírni, mint az, hogy a tábla egyben van. Olyan 162 ezer sora van jelenleg az érintett táblának. -
PazsitZ
addikt
válasz
InfiniteReality
#1052
üzenetére
Amennyiben csak elírás, akkor vedd semmisnek a következőket:
Select művelet eredményéről beszélünk. a mysql_affected_rows INSERT, UPDATE, REPLACE or DELETE parancsok esetén adja vissza az érintett sorok számát. Ez SELECT esetén mindig 0 értéket ad vissza.
Ilyen esetben (SELECT) a mysql_num_rows parancs adhat valós értéket. -
PazsitZ
addikt
válasz
InfiniteReality
#1049
üzenetére
Pedig kell lennie valamilyen eredménynek, legalábbb egy hibaüzenetnek vagy valami.
Ha valami hibát is közölsz, talán tudunk segíteni. -
martonx
veterán
válasz
InfiniteReality
#1045
üzenetére
miért ne lehetne az union-t group by-olni?
Másrészt 428 ezer sor miatt szedted szét?
Majd ha sok millió sor lesz benne. Talán inkább rendesen indexelni kellene, ha a 428 ezer sor lassú. -
PazsitZ
addikt
válasz
InfiniteReality
#1045
üzenetére
SELECT jatekos, SUM(pont) AS pont FROM (
(SELECT jatekos, sum(pont) AS pont FROM jateklista2005 WHERE pont >= 1 GROUP BY jatekosl)
UNION
(SELECT jatekos , sum(pont) AS pont FROM jateklista2006 WHERE pont >= 1 GROUP BY jatekosl)
) AS sumtable
GROUP BY jatekos
ORDER BY pont DESC -
ArchElf
addikt
válasz
InfiniteReality
#1045
üzenetére
Tedd bele az union-t egy view-ba (vagy temp táblába), és az már majd lehet...
AE
-
rum-cajsz
őstag
válasz
InfiniteReality
#1042
üzenetére
Csak annyi hiányzik, hogy a lekérdezésed most évenként jön fel, szóval kívülre kell még egy group by.
Vagy csinálsz egy nézetet a szétbontott táblákra, és akkor elég egy group by a nézetre.pl:
SELECT jatekos, sum(pont) FROM
(
SELECT jatekos, pont FROM jateklista2005 WHERE pont >= '1'
UNION
SELECT jatekos, pont FROM jateklista2006 WHERE pont >= '1'
)
GROUP BY jatekos
ORDER BY 2 DESC LIMIT 50
Új hozzászólás Aktív témák
- E-roller topik
- PlayStation 5
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Hivatalos a OnePlus 13 startdátuma
- Filmvilág
- Kertészet, mezőgazdaság topik
- Kormányok / autós szimulátorok topikja
- Luck Dragon: Asszociációs játék. :)
- Pedzegeti az új Xbox irányát a Microsoft
- Építő/felújító topik
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

