Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 53
Seite < 1 2 [3]
nerv


Rock the board



Herkunft: Mannheim
Beiträge: 81
# Antwort: 41 - 22.03.2007 um 14:07 Uhr
ist richtig es geht ums prinzipielle.
ein aufruf macht nix dan arbeitet der SQL Server kurz und fertig. Mehrere user gleichzeitig wird interesant wen der SQl von 100 usern gleichzeitig 1500 threads durchforstet. Das mag jetzt noch nicht der fall sein abber in 1-2 jahren wens dan kommen sollte alle Module nach performance verbesserungen zu durchsuchen ist kein spass. Lieber gleich auf sowas achten :x


------------------
Nur ein Narr kämpft ohne Aussicht auf den Sieg.

Inaktiv
|
kaleido


Rock the board





Beiträge: 88
# Antwort: 42 - 22.03.2007 um 14:17 Uhr
genial! funktioniert astrein. danke an alle!


------------------
Signatur +-


Inaktiv
|
h0n1g


Geekboy




Beiträge: 1013
# Antwort: 43 - 22.03.2007 um 14:25 Uhr
@nerv

wir reden hier nicht von 1 - 2 Jahren, bis dahin ist die aktuelle Version abgelöst von unserer neuen...

wir reden hier vom final termin (das ist meine Zeitspanne) ...

klar wenn mehrere user es gleichzeitig machen, das habe ich auch simuliert mit 25 an der zahl... ohne probleme, klar irgendwann ist immer eine grenze erreicht...


------------------
ClanSphere - Makes your website a playmate, just dress her

Inaktiv
|
Micha.09 ClanSphere Team


Specialist



Herkunft: Dortmund
Beiträge: 2860
# Antwort: 44 - 22.03.2007 um 14:52 Uhr
also, das er die mehrfach updatet liegt daran das es lastiger war noch zu filtern welche noch nicht marked sind als einfach alle nochmal zu aktualisieren.


Inaktiv
|
nerv


Rock the board



Herkunft: Mannheim
Beiträge: 81
# Antwort: 45 - 22.03.2007 um 16:21 Uhr
ich hab mir mal rausgenommen die mark php zu überarbeiten. das sollte den load deutlich verringern wenn nur 1-2 neue Beiträge dabei sind.

Auch ist in der aktuellen mark php ein kleiner fehler drinn. Sobald ein ungelesener thread vorhanden ist versucht er alle neu einzufügen gibt dan duplicate entry error bei mir.
Das prob ist zum einen in der datenbank abfrage wo die read_id ausgelesen wird richtig sollte es sein die thread_id zu nehmen und zu vergleichen in der in_array funktion die auch etwas verdreht ist.

Im folgenden hab ich mal einen anderen Weg genommen ohne arrays. bei mir gings vlt könte das nochmal wer testen.

 
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
1. / 2. / ... 
<?php

//sql select
$cells 'thr.threads_id, rea.users_id, rea.read_id';
$from ="threads thr LEFT JOIN {pre}_read rea ON thr.threads_id = rea.threads_id AND (rea.users_id is NULL OR rea.users_id = '"$account['users_id']."')";
$order 'thr.threads_id';
$where ="rea.users_id is NULL"// einträge die der user nicht gelesen hat 
$where .=' OR rea.read_since < thr.threads_last_time '// einträge die editiert wurden (thread_last_time)

// if board id,  add where query for board_id
if(isset($_GET['id']) AND !empty($_GET['id'])) $where .=" AND thr.board_id= '"$_GET['id'] ."'";

// if cat id , add from & where querry for bord_cat check
if(isset($_GET['cat_id']) AND !empty($_GET['cat_id'])){ 
    
$where .=" AND bor.categories_id= '"$_GET['cat_id'] ."'";               
    
$from .=' INNER JOIN {pre}_board bor ON thr.board_id = bor.board_id ';
}
   
// get not marked threds from threads tab
$threads cs_sql_select(__FILE__,$from,$cells,$where,$order,0,0); 
$threads_loop=count($threads);

// insert not marked thread id's into read table          
for($run=0$run $threads_loop$run++){
    if(
$threads[$run]['users_id'] == NULL ){
        
$data['threads_id'] = $threads[$run]['threads_id'];
        
$data['users_id'] = $account['users_id'];
        
$data['read_since'] = cs_time();
        
$cells array_keys($data);
        
$save array_values($data); 
        
cs_sql_insert(__FILE__,'read',$cells,$save);    
    }else{
                
$data['read_since'] = cs_time();
                
$cells array_keys($data);
                
$save array_values($data);  
                
cs_sql_update(__FILE__,'read',$cells,$save,$threads[$run]['read_id']);
    }
}

if(empty(
$thr_where)) header('location:' $_SERVER['PHP_SELF'] . '?mod=board'); 
else 
header('location:' $_SERVER['PHP_SELF'] . '?mod=board&action=listcat&id=' .$_GET['id']);

?>


Edit: Zeitprüfung mit eingebaut


------------------
Nur ein Narr kämpft ohne Aussicht auf den Sieg.

Zuletzt editiert von nerv am 22.03.2007 um 18:19 Uhr (6x Editiert)
Inaktiv
|
Micha.09 ClanSphere Team


Specialist



Herkunft: Dortmund
Beiträge: 2860
# Antwort: 46 - 22.03.2007 um 17:47 Uhr
ihr bedenkt etwas nicht, ihr baut andauernd nur insert ein, aber wenn ein thread nur ne neue antwort hat brauch man keinen insert sondern update. also bei mir sind noch keien fehelr / probleme mit der svn variante aufgetaucht


Inaktiv
|
nerv


Rock the board



Herkunft: Mannheim
Beiträge: 81
# Antwort: 47 - 22.03.2007 um 18:04 Uhr
Stimmt
dan muss abber auch beim vergleich die Zeit geprüft werden und das wird atm auch nicht. Müsste dan in der SVN auch noch überarbeitet werden irgendwann.

Das problem tritt bei mir nur auf wen ich zb einen bereits gemarkten wieder aus der db entferne, dan will er alle nochmal inserten. ansonsten Update er fleisig.

PS: ist das die spalte threads_last_time ?


------------------
Nur ein Narr kämpft ohne Aussicht auf den Sieg.

Zuletzt editiert von nerv am 22.03.2007 um 18:10 Uhr (1x Editiert)
Inaktiv
|
h0n1g


Geekboy




Beiträge: 1013
# Antwort: 48 - 22.03.2007 um 18:53 Uhr
wieso entfernst du welche aus der db? ist doch untypisches verhalten...

kein wunder das fehler auftreten


------------------
ClanSphere - Makes your website a playmate, just dress her

Inaktiv
|
nerv


Rock the board



Herkunft: Mannheim
Beiträge: 81
# Antwort: 49 - 22.03.2007 um 19:00 Uhr
simulierter neueintrag...
oder passiert noch mehr bei der markierung als sie einzutragen ?

scheint ja nicht weiter von intresse zu sein dem nachzugehn also belasse ich es hierbei.


------------------
Nur ein Narr kämpft ohne Aussicht auf den Sieg.

Inaktiv
|
wutsin


King for a day




Herkunft: ulm
Beiträge: 325
# Antwort: 50 - 28.03.2007 um 21:30 Uhr
also falls dies nun gibt .. gottseidank.. wenn nicht macht das doch bitte wieder rein


------------------


suche hilfe bei diesen problemen, wünschen zu CS07 mehr... +-

Inaktiv
|
h0n1g


Geekboy




Beiträge: 1013
# Antwort: 51 - 28.03.2007 um 21:47 Uhr
is drin...


------------------
ClanSphere - Makes your website a playmate, just dress her

Inaktiv
|
FranzAUT


Going for pro




Beiträge: 467
# Antwort: 52 - 28.03.2007 um 22:13 Uhr
Hab aktualisiert die Files sind auch da nur wo finde ich denn nun denn Button alles als gelesen markieren ?
Lang datei wurde anscheinden vergessen.
OK hab mir einfach selbst nen Button gebastelt funktioniert super danke euch. wieder 1 Punkt mehr fürs Board.


------------------


Zuletzt editiert von [DDR|FranzAUT] am 28.03.2007 um 22:46 Uhr (2x Editiert)
Inaktiv
|
h0n1g


Geekboy




Beiträge: 1013
# Antwort: 53 - 29.03.2007 um 00:06 Uhr
wenn du dir die
mods/board/
list.php
listcat.php
mark.php
access.php

lädst brauchst du auch noch die
lang/german/board.php

klappt doch alles?


------------------
ClanSphere - Makes your website a playmate, just dress her

Inaktiv
|
Antworten: 53
Seite < 1 2 [3]


Sie müssen sich registrieren, um zu antworten.