Mahlzeit ...
Ich stehe gerade vor dem Problem ein Datenbankdesign für eine relativ umfangreiche Datenmenge zu erstellen.
Genauer gesagt handelt es sich um genau 10 Millionen Datensätze mit der folgenden Struktur einer "flat table".
Auf allen Feldern liegen Keys. Die Tabelle wurde mit Testdatensätzen gefüllt, wobei die Attributfelder zufällig auf 0 oder 1 gesetzt wurden, um eine maximale Ausschöpfung der Daten im Endstadium zu simulieren.
Es handelt sich z.B. um folgendes SELECT Statement.
Momentan dauert das Statement auf einer "schwächeren" Kiste, ca. 15 Sekunden.
Ich suche nach Wegen, Feedback oder Alternativen um eine Query zu beschleunigen!?
Danke & Gruß,
Luke
Ich stehe gerade vor dem Problem ein Datenbankdesign für eine relativ umfangreiche Datenmenge zu erstellen.
Genauer gesagt handelt es sich um genau 10 Millionen Datensätze mit der folgenden Struktur einer "flat table".
Code:
mysql> desc test_tab;
+--------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| first | char(13) | NO | MUL | NULL | |
| second | char(12) | NO | MUL | NULL | |
| third | char(11) | NO | MUL | NULL | |
| attribute1 | tinyint(1) | NO | MUL | 0 | |
| attribute2 | tinyint(1) | NO | | 0 | |
| attribute3 | tinyint(1) | NO | | 0 | |
| attribute4 | datetime | YES | MUL | NULL | |
+--------------+------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
Auf allen Feldern liegen Keys. Die Tabelle wurde mit Testdatensätzen gefüllt, wobei die Attributfelder zufällig auf 0 oder 1 gesetzt wurden, um eine maximale Ausschöpfung der Daten im Endstadium zu simulieren.
Es handelt sich z.B. um folgendes SELECT Statement.
SQL:
SELECT second, count(first) as anz FROM test_tab WHERE attribute1 = 0 AND attribute2 = 0 GROUP BY second HAVING anz % 10 = 0 LIMIT 50;
Momentan dauert das Statement auf einer "schwächeren" Kiste, ca. 15 Sekunden.
Ich suche nach Wegen, Feedback oder Alternativen um eine Query zu beschleunigen!?
Danke & Gruß,
Luke