Använd SHOW CREATE TABLE
Det här säger mig mer om dina tabeller än dina ord någonsin skulle kunna:
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)
VARNING :Om du har 70 kolumner i din tabell, uteslut de onödiga . Vad är nödvändigt?
- Fält som gick med på
- Fält har valts
- Fält WHEREed på
Använd EXPLAIN
Detta låter mig se hur du bäst kan optimera din för närvarande fungerande, men förmodligen långsam fråga:
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)
Använd \G
Att behöva rulla åt höger är vanligtvis en olägenhet.
Vanligt:
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)
Bättre:
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)
VARNING: \G förvandlar uppenbarligen en rad med data till flera. Detta blir lika besvärligt för flera rader med data. Gör det som ser bäst ut.
Använd en extern pastebin för obehagligt stora databitar:
Berätta för oss om dina förväntningar
- Långsamt? - Vi vet inte vad långsamt är för dig. Sekunder, minuter, timmar? Det hjälper att veta.
- Snabbare – Det här vet vi inte heller. Vad förväntar du dig av snabba?
- Frekvens - Är det här en fråga som du tänker köra bara en gång? Dagligen? Hundra eller tusen gånger om dagen? Detta hjälper oss att veta när det är Good Enough .