Toon posts:

[MySQL] query crasht; systeem vast..

Pagina: 1
Acties:
  • 29 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb deze query

code:
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
SELECT
                    sd_item.id,
                    sd_item.cnt_views as views,
                    sd_item.title,
                    sd_item.image,
                    sd_item.cnt_rating,
                    sd_item.cnt_votes,
                    sd_item.cnt_files as files,
                    sd_item.cnt_size as totalsize,
                    sd_item.cnt_clicks as dls,
                    sd_tree.id AS treeid,
                    sd_tree.title AS treetitle
                FROM
                    sd_item
                LEFT JOIN
                    sd_tree
                ON
                    sd_tree.id = sd_item.tree_id
                LEFT JOIN
                    sd_hash
                ON
                    sd_hash.item_id = sd_item.id
                WHERE
                    ( sd_item.title LIKE '%ddd%' OR sd_hash.filename LIKE '%ddd%')
                AND
                    sd_item.tree_id > 0
                GROUP BY
                    sd_item.id
                ORDER BY
                    sd_item.id DESC
                LIMIT 0,25


daarmee wil ik items uit mijn database lezen, de ddd keyword is even een testje..

Maar hij crasht echt VET hard, me pc hangt en ik kan alleen reboten met me reboot knop :(

ziet iemand iets wat echt FOUT zit want ik heb hier nu 4 uur aan zitten sleutelen maar krijg um echt niet meer aan de praat (ben bezig met een database conversie en dit zou moeten werken)..

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Heb je al geprobeerd om een kleine query te pakken en steeds uit te breiden om uit te vinden waarop hij precies crasht?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En je gebruikt toch wel een recente mysql he? 3.23.56 of 4.0.12 ofzo

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Gokje, is je test machine een windows machine ?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 00:00
Overigens kan je sql niet echt vanwege group by: Je moet namelijk wel alle velden in je SELECT meenemen in je group by.
dusty schreef op 05 April 2003 @ 22:02:
Gokje, is je test machine een windows machine ?
Wat heeft het te maken dat het een windows machine is??

[ Voor 47% gewijzigd door Just_a_Gamer op 05-04-2003 22:08 ]


  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

Ik zie daarnaast het nut ook helemaal niet van je group by. Die order by alleen heeft hetzelfde resultaat volgens mij.

Daarnaast: sd_item.title LIKE '%ddd%' OR sd_hash.filename LIKE '%ddd%' is het natuurlijk wel heel erg pushen van de capaciteit van de server.

To study and not think is a waste. To think and not study is dangerous.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Just_a_Gamer schreef op 05 April 2003 @ 22:07:
[..]
Wat heeft het te maken dat het een windows machine is??
Redelijk veel, aangezien ik de ervaring heb dat soms mijn test machine (windows) met mysql vastloopt vanwege een zware query, terwijl de test machine hier op linux daar dan geen last van heeft (met dezelfde query, zelfde tabellen e.d.)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • MisterData
  • Registratie: September 2001
  • Laatst online: 21:49
IK had laatst een probleem met een query met meerdere joins erin. De /tmp map liep vol bij mij (was aparte partitie ofzo, 400 MB) en dus konden er verder geen queries meer worden uitgevoerd :/

Verwijderd

Topicstarter
/me heeft Windows met mysql < 4.0 :)

de error zit um volgens mysql die crasht ;) in

code:
1
2
3
4
LEFT JOIN
                    sd_hash
                ON
                    sd_hash.item_id = sd_item.id


maar dat is goed :? ik zie het probleem daar niet van :{ of zou het kunnen zijn dat je geen mediumint(9) UNSIGNED (van item.id) kan vergelijken met mediumint(8) UNSIGNED (van hash.item_id) :?

dit is echt super vaag ;) want ik ben bezig me site te verstellen indien mogelijk..

verder zou ik graag wat tips willen hebben van wat expers over het volgende
Eerst had ik een database met 17 velden waarvan er 5 voor het laten zien van de items waren.

1 items
2 imdb
3 hash
4 taal (language)
6 hash type

waarop ik 1 query met allemaal left join verbindingen in had zitten die ging redelijk snel, maar ik dacht als ik alles behalve type en hash in 1 tabel zet dan moet het sneller gaan :? dus maakte ik er van

1. items
2. hash
3. type

nu is de query langzamer dan die vorige :? je zou eingelijk moeten denken dat het sneller zou gaan maar blijkt toch van niet? heeft iemand een logische beredenering? zou dat kunnen komen door UNSIGNED!?
:)

[ Voor 52% gewijzigd door Verwijderd op 06-04-2003 09:19 . Reden: editzoveel ]


Verwijderd

Topicstarter
niemand verder?

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

Ik begrijp overigens ook niet waarom je in de 2e join weer terug wilt koppelen aan de 1e tabel:

code:
1
2
3
4
5
FROM       dbA
LEFT JOIN  dbB
ON         dbB.id = dbA.tree_id
LEFT JOIN  dbC
ON         dbC.item_id = dbA.id


Wat is je gedachte hierachter?

To study and not think is a waste. To think and not study is dangerous.


Verwijderd

Topicstarter
Ik heb geen flauw idee, sorry...

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

?

Je hebt geen flauw idee? Het is jouw query toch?

To study and not think is a waste. To think and not study is dangerous.


Verwijderd

Topicstarter
slm schreef op 06 April 2003 @ 21:56:
?
Je hebt geen flauw idee? Het is jouw query toch?
Jawel idd, maar ik heb geen flauw idee hoe jij die koppeling bedoeld en hoe ik deze in mijn query moet realiseren, zou je eens wat meer informatie over jou bedoeling met betreking tot mijn query kunnen geven. :? tnx! :)

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
als je even een dump geeft van de structuur en een dump met wat waardes, dan wil ik hier wel voor je testen of ie op m'n linuxbak ook crashed

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

ik heb gewoon een alias gebruikt voor iedere tabel zodat ik wat makkelijker kon zien welke tabel je nou bedoelde.

FROM sd_item
LEFT JOIN sd_tree
ON sd_tree.id = sd_item.tree_id
LEFT JOIN
sd_hash
ON sd_hash.item_id = sd_item.id

Je joined 3 tabellen:
sd_item (bij mij dbA)
sd_tree (bij mij dbB)
sd_hash (bij mij dbC)

normaal zie je joins als
from A left join B on B.id=A.bid left join C on c.id=b.cid

maar jij creëert een soort cirkel door te zeggen:
from A left join B on B.id=A.bid left join C on c.id=a.id

en dat is geen jofele query.

To study and not think is a waste. To think and not study is dangerous.


  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Ik zie niet wat er mis is met die query hoor. hij selecteert gewoon data uit Tabel A en joined daarbij 2 andere tabellen op die tabel A.
B joined hij op dbA.tree_id en
C joined hij op dbA.id

is nix mis mee volgens mij

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

je hebt 2 left joins naar 1 tabel waarvan volgens mij niet duidelijk is welke eerder uitgevoerd moet worden of welke voorrang krijgt boven de andere. Normaal gezien zou je het kunnen oplossen met een subselect, of door een left join te vervangen door een right join of een inner join.

To study and not think is a waste. To think and not study is dangerous.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

xtentic check je mail.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.