Použijte SHOW CREATE TABLE
To mi o vašich tabulkách řekne víc, než by kdy mohla vaše slova:
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)
UPOZORNĚNÍ :Pokud máte v tabulce 70 sloupců, vynechejte ty nepotřebné . Co je nutné?
- Pole se připojila dne
- VYBRANÁ pole
- Pole WHEREed on
Použijte EXPLAIN
To mi umožňuje zjistit, jak nejlépe optimalizovat váš aktuálně fungující, ale pravděpodobně pomalý dotaz:
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)
Použijte \G
Posun doprava je obecně nepříjemnost.
Obvyklé:
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)
Lepší:
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)
UPOZORNĚNÍ: \G samozřejmě změní jeden řádek dat na několik. To se stává stejně těžkopádným pro několik řádků dat. Dělejte to, co vypadá nejlépe.
Použijte externí pastebin pro nepříjemně velké kusy dat:
Sdělte nám svá očekávání
- Pomalý? - Nevíme, co je pro vás pomalé. Sekundy, minuty, hodiny? Pomáhá vědět.
- Rychlejší -To taky nevíme. Co očekáváte od rychlého?
- Frekvence - Je to dotaz, který plánujete spustit pouze jednou? Denně? Stokrát nebo tisíckrát za den? To nám pomáhá vědět, kdy je to Dost dobré .