Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] dwie tabele proste zapytanie i strasznie wolno działa
Forum PHP.pl > Forum > Bazy danych > MySQL
pasTerzu
Witam
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
  1. SELECT main_companies.id, main_companies.city, main_companies.province,
  2. main_companies.country, main_companies.note, main_companies.email,
  3. main_companies.company, main_companies.ahandler
  4. FROM main_companies INNER JOIN db_info ON (db_info.cid = main_companies.id)
  5. WHERE db_info.dbid = '1' AND main_companies.active = 1 ORDER BY main_companies.company
  6. 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
osiris
Witam,

polecam ta oto lekture: http://dev.mysql.com/doc/mysql/en/explain.html

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.