Zware query van +36.000 rows printen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Aad B

Aad B

29/09/2015 23:16:19
Quote Anchor link
Ik heb ze even bekeken alle 36.000 en probeerde 21.654 te wijzigen maar dat lukt nog niet!
 
PHP hulp

PHP hulp

27/04/2024 02:58:28
 
Joni Fleischer
Moderator

Joni Fleischer

30/09/2015 11:34:42
Quote Anchor link
Aad B op 29/09/2015 23:16:19:
Ik heb ze even bekeken alle 36.000 en probeerde 21.654 te wijzigen maar dat lukt nog niet!


Ik snap niet wat je bedoeld?
Het enige wat ik doe is deze json inladen in een datatable.
Nu kan ik met de zoekfunctie direct de juiste klant opzoeken en daar de gegevens van in een formulier laden.


Kortom,

Dit is opgelost :)
 
Pg Vincent

Pg Vincent

02/11/2015 09:19:34
Quote Anchor link
Nouja, opgelost... dit soort dingen zijn feitelijk natuurlijk "not done", je download nooit een lijst van meer dan 100 regels, laat staaan 36k. Hiervoor is AJAX uitgevonden, zodat je het zoeken aan de serverkant kunt doen, dat is sneller, flexibeler, en het spaart je bakken met traffic.
 
Ivo P

Ivo P

02/11/2015 09:32:41
Quote Anchor link
Klant bij supermarkt tegen medewerker: "is er nog cola light?"

Medewerker loopt weg, komt terug met 3 palletwagens met alle frisdrank bij de klant.
Begint vervolgens te spitten tussen de opgeladen flessen en kratten en komt inderdaad (of niet) met een fles cola light in zijn handen te voorschijn.

En weer verliet een tevreden klant het pand.

Of je loopt even naar het juiste rek en komt terug met de 3 varianten cola light die de winkel in huis heeft...
 
- Roland -

- Roland -

02/11/2015 11:01:24
Quote Anchor link
@ Ivo leuke vergelijking, geeft het goed weer....
 
Randy vsf

Randy vsf

02/11/2015 11:22:17
Quote Anchor link
Kijk anders eens naar lazy-load ofzo.
Ik heb vorige week een plugin geschreven in JS die alleen de eerste 200 records ophaalt.
En meer ophaalt als je naar beneden scrollt. Werkt perfect, en lekker snel.


"Nu kan ik met de zoekfunctie direct de juiste klant opzoeken en daar de gegevens van in een formulier laden."

Om een klant te zoeken, heb je geen 36k aan rows nodig, alleen de resultaten die matchen.
 
Pg Vincent

Pg Vincent

02/11/2015 17:00:18
Quote Anchor link
Randy Flujowa op 02/11/2015 11:22:17:
Werkt perfect, en lekker snel.


Je moet alleen even door 36.000/200=180 schermen aan data heen scrollen :-)
 
Ivo P

Ivo P

02/11/2015 17:03:27
Quote Anchor link
en waarschijnlijk wordt dit nu getest op een server die de database localhost heeft staan, maar tegelijk ook nog eens de client (browser) is, dus er is maar minimaal sprake van het versturen van data over de lijn.

En met maar 1 client die gelijktijdig de data opvraagt, beperk je ook de kans op opstoppingen.
 
Randy vsf

Randy vsf

02/11/2015 17:05:13
Quote Anchor link
Pg Vincent op 02/11/2015 17:00:18:
Randy Flujowa op 02/11/2015 11:22:17:
Werkt perfect, en lekker snel.


Je moet alleen even door 36.000/200=180 schermen aan data heen scrollen :-)



Nope, de resultaten nadat gefilterd is kan je doorheen scrollen :)
 
Ivo P

Ivo P

02/11/2015 17:13:16
Quote Anchor link
Nadat je browser de filtering gedaan heeft. Beetje jammer voor de gebruikers met een wat trage verbinding (duurt even voor de data er is) en met een wat trage pc, omdat de pc van de bezoeker aan het werk gezet wordt om 90% van de opgehaalde data weer weg te gooien
 
Randy vsf

Randy vsf

02/11/2015 18:53:26
Quote Anchor link
Ivo P op 02/11/2015 17:13:16:
Nadat je browser de filtering gedaan heeft. Beetje jammer voor de gebruikers met een wat trage verbinding (duurt even voor de data er is) en met een wat trage pc, omdat de pc van de bezoeker aan het werk gezet wordt om 90% van de opgehaalde data weer weg te gooien


Verkeerd verwoord dan. Ik haal er 200 op uit de database (die 200 is variable), dus ik filter ze neit in de browser. Scroll je omlaag wordt er dmv ajax nieuwe records opgehaald. Ik zou niet weten waarom ik 36.000 rows zou ophalen voor wat zoekwerk, terwijl mysql het zoeken ook voor mij kan doen ;)

Verder gebruik ik deze plugin alleen zelf, en ben zeer tevreden over de snelheid.

Als de interesse er is, wil ik hem best delen hier op phphulp na wat finetuning...
 
John D

John D

02/11/2015 18:59:46
Quote Anchor link
Joni Fleischer op 09/06/2015 21:43:38:
Weet iemand hoe ik dit kan verbeteren?
De query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$sql
= "
SELECT *
FROM
    clients  
ORDER BY name, ID
"
;
?>

Kom ik heel veel tegen bij ontwikkelaars die bij me komen omdat de "database" zo traag is, of ik de database even van de handrem af kan halen. Enorme bakken met data ophalen en processen in loops op de client(en/of webproces). Niet doen! Meteen de juiste selectie in je query maken en de op te halen hoeveelheid in ieder geval beperken. Zie de tips van Randy!
Gewijzigd op 02/11/2015 19:02:43 door John D
 
Joni Fleischer
Moderator

Joni Fleischer

02/11/2015 20:01:01
Quote Anchor link
Mijn doel was om heel snel door deze rows te kunnen zoeken naar de juiste client.
Mijn loadtime is 0,00001 seconde voor al deze rows te laden.

Vind ik niet echt een "aanslag" op mijn server die gewoon online (lees live) draait..

Het kan vast 100x beter, maar voor mij werkt het nu voorlopig..
 
- Ariën  -
Beheerder

- Ariën -

02/11/2015 20:10:51
Quote Anchor link
Maar, waarom zou je dan liever niet filteren om de juiste client te vinden?
 
Pg Vincent

Pg Vincent

02/11/2015 20:17:39
Quote Anchor link
Joni Fleischer op 02/11/2015 20:01:01:
Mijn doel was om heel snel door deze rows te kunnen zoeken naar de juiste client.
Mijn loadtime is 0,00001 seconde voor al deze rows te laden.


Niet jokken, alleen het ophalen van 36k rijen door de database duurt al een halve seconde, en ze omzetten naar JSON zal ook niet gratis zijn.

Misschien, heel misschien, als je heel erg slecht meet, is het daadwerkelijk zoeken in de JSON array te doen in een paar milliseconden maar dat geloof ik ook niet echt. :-)

Quote:
Vind ik niet echt een "aanslag" op mijn server die gewoon online (lees live) draait..


Hij doet nog steeds zo'n 30.000 keer zoveel werk als hij hoeft te doen. Je traffig is sowieso griezelig veel groter dan nodig.

[qoote]
Het kan vast 100x beter, maar voor mij werkt het nu voorlopig..
[/quote]

Het werkt, absoluut, en zolang je het op een hele kleine schaal toepast is er ook niet echt iets op tegen, maar als je dit publiek maakt dan krijg je een hele waslijst aan klachten en een rekening van je provider :)
 
Ivo P

Ivo P

02/11/2015 20:20:07
Quote Anchor link
" 0,00001 seconde"

Dat is dus 0,01 ms. Dat is onwaarschijnlijk rap. Ben wel benieuwd hoe dat dan gemeten kan worden.
 

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.