Wie schätzen SQL-Abfrage-timing?
Ich versuche, eine grobe (nach Größenordnung) Schätzung, wie lange Sie die folgende Abfrage könnte:
mysql> EXPLAIN SELECT t1.col1, t1_col4 FROM t1 LEFT JOIN t2 ON t1.col1=t2.col1 WHERE col2=0 AND col3 IS NULL;
+----+-------------+--------------------+------+---------------+------------+---------+-----------------------------+---------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------------------+------+---------------+------------+---------+-----------------------------+---------+--------------------------+
| 1 | SIMPLE | t1 | ref | foobar | foobar | 4 | const | 9715129 | |
| 1 | SIMPLE | t2 | ref | col1 | col1 | 4 | db2.t1.col1 | 42318 | Using where; Using index |
+----+-------------+--------------------+------+---------------+------------+---------+-----------------------------+---------+--------------------------+
2 rows in set (0.00 sec)
mysql>
InformationsquelleAutor der Frage qazwsx | 2012-10-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese kann getan werden, wenn mit PROFILE ANZEIGEN syntax.
Wenn Sie öffnen Sie eine MySQL-Sitzung, Sie können die variable "profiling" auf 1 oder AUF.
So werden alle Anweisungen an den server gesendet wird, aufgezeichnet werden und gespeichert in einem historischen und gezeigt, später durch Eingabe des Befehls:
Sehen, aus dem MySQL-Handbuch:
Referenzen (aktualisiert am: 2014-09-04):
- PROFIL ANZEIGEN Syntax
- Die INFORMATION_SCHEMA-PROFILING-Tabelle
- Wie Zu Verwenden, MySQL Abfrage Profiling (Die Digital Ocean vor kurzem veröffentlicht einen Artikel über dieses Problem.)
InformationsquelleAutor der Antwort felipsmartins