erelis4 wrote:

Dabar patvarkiau kraunasi tik uztrunka apie 0.46 sekundes tai jauciu l.daug

explainas
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra 
1    SIMPLE    a    range    PRIMARY,laikas    laikas    16    NULL    595    Using where; Using temporary; Using filesort
1    SIMPLE    d    ref    imonesid    imonesid    4    db.a.antros_id    1    Using where
1    SIMPLE    b    ref    imonesid    imonesid    4    db.a.id    1     
1    SIMPLE    c    ref    imonesid    imonesid    4    db.a.pirmos_id    1    Using where

is select_type (SIMPLE) iskart aisku, kad daromas visu lenteliu full table scan, todel ir uztrunka lb ilgai.
jungimai inner ar outer? keista kad optimizatorius pats nesutvarko jej innerai. reikia ziuret pacia uzklausa, pirmiausia isnaudot pirminius raktus jungiant lenteles, jei tai neimanoma kurti indeksus

is esmes ziurima ar stulpelis yra indeksuotas, jei taip ir yra keletas galimu panaudoti indeksu, naudojamas tas, kuris yra unikaliausias. (cardinality reiksme). O jei indeksu nera- praktiskai niekas rimciau ir neoptimizuojama mysql'e - daromas full scan.

myisam yra greitesnis varikliukas, bet nepalaiko tranzakciju ir isoriniu raktu (foreign key). innodb palaiko tranzakcijas, yra patikimesnis duomenu praradimo atzvilgiu.
del duomenu trynimo is susietos kitos lenteles - jej tau reikia tai padaryti teks naudoti foreign key, tai automatiskai teks rinktis innodb

be to mysql'e negalima naudoti agregatiniu funkciju (min, max, avg...) from lauke

is tikruju jei nori tokiu paciu rezultatu, vietoj LEFT join turetu but inner join.
o sios uzklausos yra analogiskos, tik kitaip uzrasytos - viena pagal explicit join notation sintakse, kita pagal implicit.