![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Otóż tworze porównywarkę cen gdzie której chce połączyć 2 tabele i wyciągnąć z niej dane. Same zapytanie nie jest jakoś skomplikowane ale mimo tego wykonuje się strasznie długo przy dużej ilości rekordów w bazie. Próbowałem już wielu rzeczy, zmiana struktury bazy itp. i nic. Zawsze przy wielu rekordach w bazie zapytanie strasznie długo się wykonuje. Dodam że także zastosowałem indexy. Mam 2 tabele "product" oraz "product_offer" (tabele InnoDB) tabela "product" id | name | date_added | main Indexy na: id, name, main pole main informuje nas czy produkt jest produktem czy ofertą, gdy dany rekord w polu main ma 0 to znaczy że jest przypisany do innego produktu z tej samej tabeli. Przypisania zawarłem w tabeli "product_offer" id_product | id_offer | price Indexy na: id_product, id_offer oraz UNIQUE na id_product i id_offer w jednym Chce wyciąganć wszystkie produktu z nazwa, liczbą ofert do nich przypisaną oraz minimalną cenę. Oto zapytanie które to wykonuje jednak czas wykonania wynosi ponad 2 s :/
Co wy o tym myslicie ? Jak można to przyśpieszyć ? Dodam także że inne zapytania na innych tabelach ze złączeniami LEFT JOIN także wykonuje się długo przy takiej liczbie rekordów w bazie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ten post edytował Sajrox 22.01.2009, 19:10:33 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A może jakiś przykład z tym partycjonowaniem ? Niestety nie miałem z tym jeszcze do czynienia, Czytam z linka którego podałeś ale jakoś nie bardzo udaje mi się coś z tym zrobić (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Którą tabele mam dokładnie rozbić na 2 części ? I w czym to może pomóc ? Mam jeszcze jeden problem z z bazą MyISam a InnoDB. Otóż posiadam pewne proste zapytanie. W tabeli typu InnoDB wycaga 0 wyników a gdy zamienię tą tabelę na MyIsam to prawidłowo wyciąga wyniki. Dziwne troche :/ Ten post edytował Sajrox 22.01.2009, 20:27:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 16:57 |