MYSQL sneller maken, zo goed? en tips

Status
Niet open voor verdere reacties.

gebruiker78

Gebruiker
Lid geworden
29 jun 2010
Berichten
428
@mod sorry kan deze vraag naar sql/mysql subforum
hallo,
laatst kwam ik met een vraag en mensen zeiden dat het sneller kon en dat ik nieuwere sql queries moest gebruiken.
1. wat zijn nieuwere sql queries? (bedoel waar kan ik zien of ik een oude gebruik of een nieuwe)
2. heb ik zo een snellere querie (ik begrijp dat het schrijven mooier kan maar het is nu meer de vraag of het sneller is)
oud:
PHP:
$query = mysql_query("SELECT dbunique,usersid,ido,message,time FROM usersppm WHERE usersid='" . mysql_real_escape_string( $id ) . "' ORDER BY time DESC LIMIT 0,10");
while($row1 = mysql_fetch_array($query)){
$data[] = $row1;
foreach ($data as $row1);
$dbunique = $row1['dbunique'];
$usersid = $row1['usersid'];
$ido = $row1['ido'];
$message = $row1['message'];
$time = $row1['time'];
$query2 = mysql_query("SELECT firstname,lastname,easyname FROM users WHERE id='" . mysql_real_escape_string( $ido ) . "' LIMIT 1");
while($row2 = mysql_fetch_array($query2)){
   $data[] = $row2;
   foreach ($data as $row2);
$firstnameo = $row2['firstname'];
$lastnameo = $row2['lastname'];
$easyname = $row2['easyname'];
$query3 = mysql_query("SELECT easyname,profilepic,profilen FROM userspp WHERE id='" . mysql_real_escape_string( $ido ) . "' LIMIT 1");
nieuw:
PHP:
$query = mysql_query("SELECT p.dbunique,p.usersid,p.ido,p.message,p.time,u.firstname,u.lastname,u.easyname,u.id,pp.profilepic,pp.profilen,pp.id FROM usersppm as p,users as u,userspp as pp WHERE p.usersid='" . mysql_real_escape_string( $id ) . "' and u.id=p.ido and pp.id=p.ido ORDER BY time DESC LIMIT 0,10");
while($row1 = mysql_fetch_array($query)){
$data[] = $row1;
foreach ($data as $row1);
$dbunique = $row1['dbunique'];
$usersid = $row1['usersid'];
$ido = $row1['ido'];
$message = $row1['message'];
$time = $row1['time'];
$firstnameo = $row1['firstname'];
$lastnameo = $row1['lastname'];
$easyname = $row1['easyname'];
$profilepic = $row1['profilepic'];
$profilen = $row1['profilen'];

UPDATE
oke ik ben constant mijn code aan het aanpassen en toevallig door het testen kwam ik erachter dat
$profilepic = $row1['profilepic'];
$profilen = $row1['profilen'];
niet verplicht zijn (als je geen profile foto hebt sta je dus ook niet in de database) dus geeft hij 0 resultaten en pakt hij niks meer.
hoe kan ik dit oplossen? dat ook al vind hij niks bij pp.profilepic pp.profilen dat hij dan wel alle andere resultaten geeft.
 
Laatst bewerkt:
hey sneller maken static query das zelfde data maar hij gaat die query en data klaar stellen voor gebruik Dus neem je hiervoor weinig data omdat het zwaar kan worden
dus meestal ga je niet alle data tonen dus maak je een kleine selectie die je laat aanvullen met live data

let op het is allebij live data maar de ene is tabel die opgebouwd is vanuit andere tabbelen

bekijk ook deze link waar je het geheeltje en querys kan testen op je data
http://www.mysql.com/products/workbench/
 
oke bedankt,
helaas werkt het programma niet (windows 7, 64bit) ik had het programma al eerder tegengekomen
 
probeer eens te installeren in programfilesx86 en nadien op de icoon rechts klikken en laten uitvoeren als xp dan moet het wel lukken
 
en als u opstarten als beheerder kiest(rechts klik icoon ).

ps : bekijk ook firewall met veel zoeken zou je ook je netwerkkaarten terug kunnen vinden als je die vindt (want je staat nog niet in oude layout terug) moet je er rechts opklikken eigenschappen en dan kan je naar je firewallinstellingen van windows wat omslachtig maar er is geen betere mannier
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan