Cheatah: [MySQL] 25-minütige SELECT-Abfrage mit 2 Tabellen beschleunigen?

Beitrag lesen

Hi,

welche Indexe hast Du auf die Tabellen gelegt?
Anbei die Ausgabe vom Export:

also keine Indexe, vom Primary Key abgesehen (den Du in der Selektion nicht nutzt). Damit haben wir den Übeltäter.

EXPLAIN SELECT liefert:

+----+-------------+-------+------+---------------+------+---------+------+-------+------------------------------+

| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows  | Extra                        |
+----+-------------+-------+------+---------------+------+---------+------+-------+------------------------------+
|  1 | SIMPLE      | s     | ALL  | NULL          | NULL | NULL    | NULL | 86121 | Using where; Using temporary |
|  1 | SIMPLE      | r     | ALL  | NULL          | NULL | NULL    | NULL | 89520 | Using where                  |
+----+-------------+-------+------+---------------+------+---------+------+-------+------------------------------+

  
Die type=ALL sind kritisch und müssen unbedingt[1] eliminiert werden. Wenn Du günstige Indexe erzeugst, fallen sie weg.  
  
Cheatah  
  
[1] Es gibt extrem seltene Fälle, wo ein Full Table Scan tatsächlich performanter als ein Index ist. Die Tabelle hat dann aber auch nur, sagen wir, zwei oder drei Datensätze.

-- 
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|  
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html  
X-Will-Answer-Email: No  
X-Please-Search-Archive-First: Absolutely Yes