Brug VIS OPRET TABEL
Dette fortæller mig mere om dine tabeller, end dine ord nogensinde kunne:
mysql> show create table magic\G
*************************** 1. row ***************************
Table: magic
Create Table: CREATE TABLE `magic` (
`id` int(11) DEFAULT NULL,
`what` varchar(255) DEFAULT NULL,
`the` datetime DEFAULT NULL,
`heck` text,
`soup_is_good` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
ADVARSEL :Hvis du har 70 kolonner i din tabel, udelad de unødvendige . Hvad er nødvendigt?
- Felter tilsluttet sig den
- Felter er valgt
- Felter WHEREed på
Brug EXPLAIN
Dette giver mig mulighed for at se, hvordan du bedst optimerer din aktuelt fungerende, men formodentlig langsomme forespørgsel:
mysql> explain select * from magic\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: magic
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1
Extra:
1 row in set (0.00 sec)
Brug \G
At skulle scrolle til højre er generelt en gene.
Almindelig:
mysql> select * from magic;
+------------+-------------------------------+---------------------+-------------------+--------------+
| id | what | the | heck | soup_is_good |
+------------+-------------------------------+---------------------+-------------------+--------------+
| 1000000000 | A really long text string yay | 2009-07-29 22:28:17 | OOOH A TEXT FIELD | 100.5 |
+------------+-------------------------------+---------------------+-------------------+--------------+
1 row in set (0.00 sec)
Bedre:
mysql> select * from magic\G
*************************** 1. row ***************************
id: 1000000000
what: A really long text string yay
the: 2009-07-29 22:28:17
heck: OOOH A TEXT FIELD
soup_is_good: 100.5
1 row in set (0.00 sec)
ADVARSEL: \G gør åbenbart en række data til flere. Dette bliver lige så besværligt for flere rækker af data. Gør det, der ser bedst ud.
Brug en ekstern pastebin til ubehageligt store bidder af data:
Fortæl os dine forventninger
- Langsomt? - Vi ved ikke, hvad der er langsomt for dig. Sekunder, minutter, timer? Det hjælper at vide.
- Hurtigere - Det ved vi heller ikke. Hvad forventer du af hurtige?
- Frekvens - Er dette en forespørgsel, du planlægger at køre én gang? Daglige? Hundrede eller tusindvis af gange om dagen? Dette hjælper os med at vide, hvornår det er Godt nok .