Mam w bazie dwie tabele
tabela
db_info
id (mediumint) | cid (mediumint) | dbid (tinyint)
main_companies
id (mediumint) | company | city ... itp itd dane adresowe (text)
rekordow w tabeli main_companies mam ~ 70 000
natomiast w tabeli db_info ~ 150 000
Problem polega na tym że przy wywołaniu wydawałoby się prostego zapytania
SELECT main_companies.id, main_companies.city, main_companies.province, main_companies.country, main_companies.note, main_companies.email, main_companies.company, main_companies.ahandler FROM main_companies INNER JOIN db_info ON (db_info.cid = main_companies.id) WHERE db_info.dbid = '1' AND main_companies.active = 1 ORDER BY main_companies.company ASC LIMIT 0, 70
skrypt potrafi sie wywalic - po prostu tak długo mieli że dostaje jedynie komunikat UNABLE TO SAVE RESULTS
czasem wystarczy odswiezyc ale mimo to potrafi wybierac te dane okolo 15 sekund to chyba zbyt dlugo trwa ?
Pytanie moje co mozna zrobic w sensie struktura tych tabel aby maxymalnie zoptymalizować to.
Obie tabele są typu MyISAM - czytalem gdzies ze jesli w jakiejs tabeli sa wyłącznie liczby to wowczas mozna dac InnoDB - zrobilem tak nawet dalo to jakis efekt podziałało jako tako ale potem znowu to samo. Pozniej wywalilem indexy z tabeli db_info zostawilem tylko glowne, i zmienilem spowrotem na MYISAM i teraz tez niby dziala ale dalej jakos srednio.
Czy ktos jest w stanie cos mądrego doradzic ? Hosting mam na home.pl