a) Rašei "imones apie 5 000 k. imoniu info panasiai 3000 k finasnai 500", čia tikrai tiek duomenų? 5000k/3000k ar tik 5k/3k? Nes 5000k ir 3000k atitinka 5000000 ir 3000000. Kitaip sakant po 5 ir 3 milijonus įrašų. Turint tiek duomenų, lentelės pradeda "sverti" nuo keliolikos iki kelių šimtų megabaitų - tada jau pradeda daryti aktualu ir serverio nustatymai;
b) Taip pat rašei, kad "Lenteliu strukturos keisti negaliu". Vadinasi negali keisti indeksų, nors mano manymu galima būtų pabandyti uždėti indeksą vien tiktai ant laukelių "laikas", "teigiamas" bei "neigiamas" (beje, kas saugoma laukuose "teigiamas" ir "neigiamas"?
c) Taip pat galima sumažinti ir duomenų užimamą vietą: pas tave visi ID yra INT(11), mano Tavo atveju užtenka visur INT(4) UNSIGNED, o kai kuriais atvejais ir INT(2) UNSIGNED arba INT(3) UNSIGNED, čia aišku reikia įvertinti kiek tiksliai yra duomenų, ir kiek jų planuojama turėti atetyje (duomenų augimas). Kalabnt NE apie ID tipo laukus vėl, kyla klausimų su laukų tipų pertekliniais nustatymais;
d) Pas tave užklausoje yra tokia vieta:
Select * From imones a inner join (imoniu_info b) ON (b.imoniu_id = a.id) ...
Niekur nesimato tokio lauko, kaip "imoniu_id" čia arba klaida užklausoje (turėtų būti "imones_id") arba pateikei netikslius duomenis apie lentelių struktūra bei pačią užklausą.