Zitat:
Zitat von thomas_w
Hast Du schon mal
Code:
$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);
zum Ermitteln der Treffer probiert? Dann entfällt der Vorab-Query mit dem COUNT() komplett und die Blätterfunktion kann problemlos erzeugt werden.
|
Funktioniert das auch, wenn der SELECT ein LIMIT 0,30 mitschleppt? Wofür nochmal steht '$link' im mysql_query-Statement?
Ich werde es auf jeden Fall gerne probieren, aber erst wenn Deine erstklassigen Tuningtips aufgebraucht sind ;-)
Ich hatte mit dem letzten Index nochmal eine fabelhafte Performancesteigerung und wir liegen mittlerweile bei knapp 3 Sekunden (statt ehemals fast 10) auf meinem Laptop.
Code:
+----+--------------------+-------+--------+------------------------------------------+-------------------------+---------+--------------------------------------------------+-------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+-------+--------+------------------------------------------+-------------------------+---------+--------------------------------------------------+-------+--------------------------+
| 1 | PRIMARY | p12 | index | deleted,idx_art_del_sup | idx_art_del_sup | 9 | NULL | 61271 | Using where; Using index |
| 1 | PRIMARY | t1 | eq_ref | PRIMARY,deleted,idx_id_deleted | PRIMARY | 4 | store_dwh.p12.artikleid | 1 | Using where |
| 1 | PRIMARY | p11 | ref | lang,idx_labels_art_lang_del | idx_labels_art_lang_del | 43 | store_dwh.t1.id,const,const | 1 | Using index |
| 1 | PRIMARY | r20 | eq_ref | PRIMARY,deleted | PRIMARY | 4 | store_dwh.p12.supplierid | 1 | |
| 1 | PRIMARY | p13 | ref | supplierid,idx_art_sup_val_del | idx_art_sup_val_del | 8 | store_dwh.t1.id,store_dwh.r20.id | 1 | Using index |
| 1 | PRIMARY | p15 | ref | idx_art_val_del | idx_art_val_del | 5 | const,store_dwh.t1.id | 1 | Using index |
| 3 | DEPENDENT SUBQUERY | p15b | ref | validfrom,idx_art_val_del | idx_art_val_del | 5 | store_dwh.t1.deleted,store_dwh.p15.artikleid | 1 | Using where; Using index |
| 2 | DEPENDENT SUBQUERY | p13b | ref | supplierid,validfrom,idx_art_sup_val_del | idx_art_sup_val_del | 8 | store_dwh.p13.artikleid,store_dwh.p13.supplierid | 1 | Using where; Using index |
+----+--------------------+-------+--------+------------------------------------------+-------------------------+---------+--------------------------------------------------+-------+--------------------------+
8 rows in set (0.00 sec)
Beim nochmalig Drüberschauen glaube ich allerdings, dass hier Ende vom Lied ist; r20 ist nur noch Namen des Lieferanten aus einer sehr viel kleineren Tabelle auslesen - oder hast Du noch einen in der Trickkiste?
Grüsse
David