indiziere Spalten zum Suchen
Spalten, welche in Where Bedingungen genutzt werden sollten mit einem Indix versehen werden. Hat eine Spalte ein Index kann MySQL beim suchen auf das Scannen der Spalte verzichten und benutzt stattdessen den weit schnelleren Index.Dies gilt nicht nur für Vergleiche mit dem gesamten Feldinhalt, sonder auch für Teile. Zu beachten dabei ist, das der Index nur genutzt wird, wenn der gesuchte Ausdruck sich am Anfang des Feldes befindet, also am Anfang des Index steht.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql> SELECT COUNT(*) FROM bar WHERE foo LIKE 'c%';
+----------+
| count(*) |
+----------+
| 456 |
+----------+
1 row in set (0,34 sec)
// Spalte "foo" mit Index versehen
mysql> ALTER TABLE `bar` ADD INDEX ( `foo` );
mysql> SELECT COUNT(*) FROM bar WHERE foo LIKE 'c%';
+----------+
| count(*) |
+----------+
| 456 |
+----------+
1 row in set (0,02 sec)