Loop vast in Union statement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- DHU -

- DHU -

14/12/2020 14:30:47
Quote Anchor link
Die tabel is benodigd voor extra informatie over desbeteffende OU. Vraag me af of dit wel haalbaar is op een simpele localhost... ik blijf maar geen resultaat krijgen.. zelfs na half uur pollen niet. Ik forceer dus iedere keer maar herstart van de localhost. Misschien moet ik het er gewoon bij laten.
 
PHP hulp

PHP hulp

18/04/2024 06:44:19
 
- Ariën  -
Beheerder

- Ariën -

14/12/2020 20:03:08
Quote Anchor link
Waarom zou je steeds je webserver moeten herstarten?
Het klinkt alsof je een bepaalde grens overschrijdt, waarbij je een limiet moet oprekken?
Verder is het logischer dat je MySQL los een restart geeft (staat los van de webserver), maar het zou eigenlijk niet moeten.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/12/2020 13:58:46
Quote Anchor link
>> Die tabel is benodigd voor extra informatie over desbeteffende OU.
Die tabel vervalt ook niet, hij komt er alleen pas later bij.

Ik zal het proberen uit te leggen:
Op het moment dat je GROUP BY in een query gebruikt moet de database eerst alle informatie verzamelen voordat er gegroepeerd wordt. Dit kan (gezien het aantal koppeltabellen) best wel oplopen.
Grofweg:
a = Aantal personen x (gem) aantal rollen pp x (gem) aantal activiteiten per rol x (gem) aantal autorisaties per act.

Terwijl:
b = aantal afdelingen

Door eerst te groeperen in een subquery en daarna pas die tabel te joinen bespaar je dan b t.o.v van a (beetje simpel gesteld)

In je openingsvraag geef je aan dat je FlySpeed als tool hebt, ik denk dat je daar ook 'zelf geschreven' SQL statements kan uitvoeren. In dat geval doe dat, dan sluit je iig uit dat het geen PHP issue is.
 
- DHU -

- DHU -

15/12/2020 18:57:00
Quote Anchor link
- Ariën - op 14/12/2020 20:03:08:
Waarom zou je steeds je webserver moeten herstarten?
Het klinkt alsof je een bepaalde grens overschrijdt, waarbij je een limiet moet oprekken?
Verder is het logischer dat je MySQL los een restart geeft (staat los van de webserver), maar het zou eigenlijk niet moeten.


Omdat bij uitvoering de mijn browser maar blijft pollen en draaien.... na een 1/2 uurtje ben ik dat toch wel zat hoor.. en dan forceer ik een herstart want anders kan ik niets anders doen... en mijn van van mijn laptop loopt als 'n dolle te blazen... die raakt klaarblijkelijk verhit
 
- Ariën  -
Beheerder

- Ariën -

15/12/2020 19:00:25
Quote Anchor link
Misschien even uitzoeken waarom dat gebeurt?
 
- DHU -

- DHU -

15/12/2020 19:01:35
Quote Anchor link
Ger van Steenderen op 15/12/2020 13:58:46:
>> Die tabel is benodigd voor extra informatie over desbeteffende OU.
Die tabel vervalt ook niet, hij komt er alleen pas later bij.

Ik zal het proberen uit te leggen:
Op het moment dat je GROUP BY in een query gebruikt moet de database eerst alle informatie verzamelen voordat er gegroepeerd wordt. Dit kan (gezien het aantal koppeltabellen) best wel oplopen.
Grofweg:
a = Aantal personen x (gem) aantal rollen pp x (gem) aantal activiteiten per rol x (gem) aantal autorisaties per act.

Terwijl:
b = aantal afdelingen

Door eerst te groeperen in een subquery en daarna pas die tabel te joinen bespaar je dan b t.o.v van a (beetje simpel gesteld)

In je openingsvraag geef je aan dat je FlySpeed als tool hebt, ik denk dat je daar ook 'zelf geschreven' SQL statements kan uitvoeren. In dat geval doe dat, dan sluit je iig uit dat het geen PHP issue is.


ik voer ook inderdaad ook eerst de sql statements in flyspeed... dat gaat wel maar tot aan de tabel ou.... want voeg ik die toe dan zegt ie mooi 'doet 't lekker zelf' :-) voor nu zie ik dit op mijn laptop als onmogelijk en er is al heel veel gezegd en geschreven hierover. Ben ook erkentelijk voor al die voorzetten, opmerkingen en aanvullingen maar het is simpelweg niet te doen. Kan geen andere conclusie trekke. Wederom gaat mijn dank uit naar iedereen die een bijdrage heeft geleverd aan dit topic.
 
Ad Fundum

Ad Fundum

17/12/2020 10:53:50
Quote Anchor link
Qua prestaties kan je overwegen om GROUP BY te vervangen voor Window-functie(s), dan hoeft MySQL maar 1x door de (uitvoer)tabel te gaan.

Het is wel lastig wanneer MySQL om onbekende reden blijft hangen. Ik heb dat ooit gehad op een server met ZFS als bestandssysteem op FreeBSD. Nadat ik terug ging naar UFS was het probleem verholpen.

In jouw geval zou ik via een tweede verbinding met MySQL vanuit een client kijken welk proces lang draait met de query SHOW PROCESSLIST; en eventueel door te kijken in het slow query log. Zodra je weet op welke SQL de database blijft hangen kan je de prestaties analyseren via EXPLAIN ANALYZE. Maar je kunt ook de query stapsgewijs uitvoeren (steeds meer JOINs en condities) en die stuk voor stuk uitproberen om te kijken waar het probleem zit.

Je kunt queries meestal wel goed optimaliseren met goed geplaatste indices (voor als je minder dan 15% van de rijen nodig hebt). Verder maakt de volgorde van JOINs soms uit, en wat ook uitmaakt zijn de WHERE-condities. Informatie aggregeren zoals met GROUP BY wil je het liefst in een zo laat mogelijk stadium doen en waar mogelijk met Window-functies. Als het niet genoeg helpt kan je eventueel nog tijdelijke (sessie-)tabellen gebruiken.

Deze info is meer algemeen van aard, toch hoop ik dat er iets tussenzit waarmee je verder komt.
Gewijzigd op 17/12/2020 10:55:11 door Ad Fundum
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.