1 2 3 4 5 6 | $query="SELECT * FROM produkten WHERE product_menu=".$_GET['id']." ORDER BY first_price ASC, product_id DESC"; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $query="SELECT oc.number, p.articelcode, p.name, oc.giftwrap, p.first_price, p.second_price FROM orders o INNER JOIN order_content oc ON oc.order_id = o.order_id INNER JOIN produkten p ON p.product_id = oc.product_id INNER JOIN users u ON u.user_id = o.user_id WHERE o.order_id =".$_GET['order']." && u.name='".$_SESSION['name']."'"; ?> |
php.ini?quote:Op donderdag 2 maart 2006 21:02 schreef H4ze het volgende:
Ik zoek me een ongeluk, maar waar kan ik in godsnaam het maximale aantal connecties van mysql aanpassen?Op internet vind ik steeds /etc/my.cnf, maar ik ben geloof ik hardstikke blind....
Ik ben iets aan 't maken met mysql en JSP/Servlets, dus denk niet dat de php.ini er veel mee te maken heeft. Thnx voor 't snelle antwoord iig. Maar je moet toch gewoon via de mysql commandline iets kunnen opgeven?quote:
Nee dan heeft php er niets mee te makenquote:Op donderdag 2 maart 2006 21:08 schreef H4ze het volgende:
[..]
Ik ben iets aan 't maken met mysql en JSP/Servlets, dus denk niet dat de php.ini er veel mee te maken heeft. Thnx voor 't snelle antwoord iig. Maar je moet toch gewoon via de mysql commandline iets kunnen opgeven?
jep al gelezenquote:Op donderdag 2 maart 2006 21:11 schreef Swetsenegger het volgende:
[..]
Nee dan heeft php er niets mee te maken
http://dev.mysql.com/doc/refman/4.1/en/too-many-connections.html Staat hier wat bij?
en als je my.cnf file gewoon opent?quote:Op donderdag 2 maart 2006 21:12 schreef H4ze het volgende:
[..]
jep al gelezen![]()
Stond in de reacties wel 1 iets bij:
You can increase this value in main config file (e.g., /etc/my.cnf) using this syntax:
[mysqld]
set-variable=max_connections=250
Dus ik heb in de commandline '--set-variable=max_connections=250'. Hij gaf dan geen error ofzo, maar ook niet dat het nu veranderd was....
Nou, dan weet ik niet wat je doet, want appserv is 3 keer next klikken, je files in de www directory zetten en openen met localhost/filename.phpquote:Op donderdag 2 maart 2006 21:18 schreef DaFan het volgende:
Leuk en aardig dat AppServ maar het werkt nog steeds niet. En nu kan ik totaal niet vinden waar ik in mn MySQL command kan komen. MySQLAdmin opent in DOS en is in 1 sec weer weg
Dus nu kan ik helemaal niks meer
Eigenlijk alles waar op gefilterd of gesorteerd wordt. Dus de kolommen die in de join condities worden gebruikt, maar ook die in de where staan. Als er geen idex voor bestaat dan moet de hele tabel gescanned worden.quote:Op donderdag 2 maart 2006 21:01 schreef Swetsenegger het volgende:
Mijn boerenverstand zegt van alle FK's in alle tabellen dus orders.user_id, order_content.order_id en order_content.product_id.
Maar... klopt dat wel? En kan iemand ook helder onder woorden brengen waarom?
Oke, dus als stelregel kan je zeggen dat je altijd(?) indices moet maken op foreign keys EN op kolommen welke (vaak) in where statements worden gebruikt, correct?quote:Op donderdag 2 maart 2006 21:36 schreef SuperRembo het volgende:
[..]
Eigenlijk alles waar op gefilterd of gesorteerd wordt. Dus de kolommen die in de join condities worden gebruikt, maar ook die in de where staan. Als er geen idex voor bestaat dan moet de hele tabel gescanned worden.
Niet bij álle foreign keys, maar het is een goede vuistregel ja. Voorbeeldje waarbij het niet moet; als je voor een fotoalbum drie groottes van een bepaalde foto hebt kun je die drie groottes in één record laten verwijzen naar drie foreign records, maar daar hoeft in principe helemaal geen index op omdat je daar nooit op selecteert of sorteert.quote:Op donderdag 2 maart 2006 21:41 schreef Swetsenegger het volgende:
[..]
Oke, dus als stelregel kan je zeggen dat je altijd(?) indices moet maken op foreign keys EN op kolommen welke (vaak) in where statements worden gebruikt, correct?
In álle gevallen worden INSERTs trager door indices, en als het goed is kan MySQL zelf prima bepalen of het een index gebruikt of nietquote:Ik las namelijk op mysql.org dat het in sommige gevallen trager kan worden door indices.
Nee ok, alleen op kolommen waarop je selecteert of sorteert is een betere benaming.quote:Op donderdag 2 maart 2006 21:55 schreef JeRa het volgende:
[..]
Niet bij álle foreign keys, maar het is een goede vuistregel ja. Voorbeeldje waarbij het niet moet; als je voor een fotoalbum drie groottes van een bepaalde foto hebt kun je die drie groottes in één record laten verwijzen naar drie foreign records, maar daar hoeft in principe helemaal geen index op omdat je daar nooit op selecteert of sorteert.
Van mysql.org:quote:In álle gevallen worden INSERTs trager door indices, en als het goed is kan MySQL zelf prima bepalen of het een index gebruikt of nietdus wat dat betreft zal het niet trager worden.
MySQL staat nou niet echt goed bekend om z'n query optimalisatie kwaliteiten.quote:Op donderdag 2 maart 2006 21:55 schreef JeRa het volgende:
en als het goed is kan MySQL zelf prima bepalen of het een index gebruikt of niet
In jouw voorbeeld zie ik één query die alle rows aandoet en die sorteert op first_price; die zou je prima kunnen indexeren.quote:Op donderdag 2 maart 2006 22:05 schreef Swetsenegger het volgende:
Maar ja, in bovenstaand voorbeeld heb ik regelmatig ALLE product rows nodig. Zijn indexes dan aan te raden of niet?
Dat weet ik, ik ga er altijd vanuit dat ze dat in de toekomst nog kunnen verbeteren terwijl de queries hetzelfde blijven. Als het een probleem wordt schakel ik over op een andere DBMS die dat wel kan bepalenquote:Op donderdag 2 maart 2006 22:10 schreef SuperRembo het volgende:
[..]
MySQL staat nou niet echt goed bekend om z'n query optimalisatie kwaliteiten.
First price heb ik inderdaad nu geindexeerd.quote:Op donderdag 2 maart 2006 23:14 schreef JeRa het volgende:
[..]
In jouw voorbeeld zie ik één query die alle rows aandoet en die sorteert op first_price; die zou je prima kunnen indexeren.
[..]
Dat weet ik, ik ga er altijd vanuit dat ze dat in de toekomst nog kunnen verbeteren terwijl de queries hetzelfde blijven. Als het een probleem wordt schakel ik over op een andere DBMS die dat wel kan bepalen
Laat eens zien?quote:Op vrijdag 3 maart 2006 11:04 schreef Swetsenegger het volgende:
Ik heb een mooie query van Super Rembo, welke 3 laatste records per catagorie uit de database trekt.
Alleen duurt deze query tussen de 15(!) en 0.0003 seconden. De eerste keer doet hij er meestal heel lang over, de tweede keer korter.
Ik mag toch aannemen dat dat aan de hoster ligt?
De Query?quote:
1 2 3 4 5 6 7 | FROM genre g INNER JOIN ad a ON a.genre = g.genre_id INNER JOIN ad a2 ON a2.genre = g.genre_id AND a.ad_id <= a2.ad_id GROUP BY a.ad_id HAVING COUNT(a2.ad_id) <= 3 ORDER BY g.genre_id, a.ad_id DESC |
Wat anders?quote:
Dit is een mooi voorbeeld van een query die géén indices gebruikt maar de tweede keer snel wordt door het gebruik van de query cache op de server. Ik zie zo even niet waarom hij ze niet gebruikt.quote:Op vrijdag 3 maart 2006 11:04 schreef Swetsenegger het volgende:
Alleen duurt deze query tussen de 15(!) en 0.0003 seconden. De eerste keer doet hij er meestal heel lang over, de tweede keer korter.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |