jak poprawnie to powinno wyglądać..
Damian - 09-12-2005 19:54
jak poprawnie to powinno wyglądać..
Mam sporą bazę (ponad 100mb) jest to baza z tekstami piosenek, wszystko jest w 1 tabeli. Pola: id, wykonawca, tytul, tresc.. I teraz jakie indexy ustawić i inne rzeczy aby jak najszybciej to działało.. ? A ma działać tak, że na stronie mam kolejno litery alfabetu, wchodzę wybiera mi z pola wykonawca unikalnych wykonawców i wyświetla (to trochę trwa) a potem dalej tylko tytuły.. I zauważyłem, że jakieś tam znaczenie mają indexy i inne właściwości pól.. a nie wiem jak dobrze je ustawić..
Damian - 09-12-2005 19:54
> Mam sporą bazę (ponad 100mb) jest to baza z tekstami piosenek, wszystko > jest w 1 tabeli. Pola: id, wykonawca, tytul, tresc.. I teraz jakie indexy > ustawić i inne rzeczy aby jak najszybciej to działało.. ? A ma działać > tak, że na stronie mam kolejno litery alfabetu, wchodzę wybiera mi z pola > wykonawca unikalnych wykonawców i wyświetla (to trochę trwa) a potem dalej > tylko tytuły.. I zauważyłem, że jakieś tam znaczenie mają indexy i inne > właściwości pól.. a nie wiem jak dobrze je ustawić.. >
I chodzi oczywiście o mysql ;)
Sergiusz Rozanski - 09-12-2005 19:54
Dnia 07.12.2005 Damian <ddamiang@o2.pl> napisał/a: > Mam sporą bazę (ponad 100mb) jest to baza z tekstami piosenek, wszystko jest > w 1 tabeli. Pola: id, wykonawca, tytul, tresc.. I teraz jakie indexy ustawić > i inne rzeczy aby jak najszybciej to działało.. ? A ma działać tak, że na > stronie mam kolejno litery alfabetu, wchodzę wybiera mi z pola wykonawca > unikalnych wykonawców i wyświetla (to trochę trwa) a potem dalej tylko > tytuły.. I zauważyłem, że jakieś tam znaczenie mają indexy i inne > właściwości pól.. a nie wiem jak dobrze je ustawić..
troche to wymaga przeprojekowania :) zrób baze wykonawców (id_wykonawcy, nazwa) baze tytułów piosenek (id_piosenki, id_wykonawcy, tytuł) baze treści piosenek (id_piosenki, treść)
na wszystkie pola id pozakładaj indeksy, teraz za pierwszym pytaniem masz literke więc poszukasz w pierwszej bazie wszystkich na ta literke w nazwie, najlepiej substring, nie like. po kliknięci u wykonawce, masz jego id i z nim lecisz do drugiej bazy, na id_wykonawcy zrób indeks po kliknięciu na tytuł masz id_piosenki z nim lecisz do 3 tabeli i masz już treść :)
-- *** rozanski.at.sergiusz.dot.com sq3bkn *** *** http://jeep.comm.pl *** *** rtg project http://gg.overwap.net ***
Damian - 09-12-2005 19:54
> troche to wymaga przeprojekowania :) > zrób baze wykonawców (id_wykonawcy, nazwa) > baze tytułów piosenek (id_piosenki, id_wykonawcy, tytuł) > baze treści piosenek (id_piosenki, treść) > > na wszystkie pola id pozakładaj indeksy, > teraz za pierwszym pytaniem masz literke więc poszukasz > w pierwszej bazie wszystkich na ta literke w nazwie, > najlepiej substring, nie like. > po kliknięci u wykonawce, masz jego id i z nim lecisz do > drugiej bazy, na id_wykonawcy zrób indeks > po kliknięciu na tytuł masz id_piosenki z nim lecisz > do 3 tabeli i masz już treść :) >
Tylko, że mam problem z przeniesieniem tych wykonawców do osobnej tabeli :/ Tzn z samym przeniesieniem to nie problem ale nadanie id_wykonawcy do tytułów.. Pisałem o tym kilka postów niżej.. i na pl.comp.lang.php ..
Sergiusz Rozanski - 09-12-2005 19:54
Dnia 07.12.2005 Damian <ddamiang@o2.pl> napisał/a: >> troche to wymaga przeprojekowania :) >> zrób baze wykonawców (id_wykonawcy, nazwa) >> baze tytułów piosenek (id_piosenki, id_wykonawcy, tytuł) >> baze treści piosenek (id_piosenki, treść) >> >> na wszystkie pola id pozakładaj indeksy, >> teraz za pierwszym pytaniem masz literke więc poszukasz >> w pierwszej bazie wszystkich na ta literke w nazwie, >> najlepiej substring, nie like. >> po kliknięci u wykonawce, masz jego id i z nim lecisz do >> drugiej bazy, na id_wykonawcy zrób indeks >> po kliknięciu na tytuł masz id_piosenki z nim lecisz >> do 3 tabeli i masz już treść :) >> > > Tylko, że mam problem z przeniesieniem tych wykonawców do osobnej tabeli :/ > Tzn z samym przeniesieniem to nie problem ale nadanie id_wykonawcy do > tytułów.. Pisałem o tym kilka postów niżej.. i na pl.comp.lang.php ..
Hmm, to możesz zrobić na samej bazie, ale nie znam na tyle mysql aby pomóc, w pgsql można robić create table x from select .. i odpowiednio manewrując zapytaniami zrobic to na poziomie bazy. Można za to zrobić to aplikacyjnie, pobrać całą baze wykonawców i zapisać insertami w nową tablice, nadając id z licznika, to id odrazu leci jako update do tabeli tej głównej. to samo z tytułami, na koniec z głównej usunąć zbędne wiersze. (tylko zrób backup ;)
-- *** rozanski.at.sergiusz.dot.com sq3bkn *** *** http://jeep.comm.pl *** *** rtg project http://gg.overwap.net ***
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
(OT) do oceny - =?ISO-8859-2?Q?poprawno=B6=E6_graficzna_i_?==?ISO-8859-2?Q?plityczna=3A=29?=
=?iso-8859-2?q?MySQL_-_nieoptymalne_zapytanie_-_jak_poprawi=E6=3F?=
ORACLE - czy da sie poprawic konkretny znak w polu typu varchar?
=?iso-8859-1?q?Masowa_poprawa_skan=F3w_-_mozna_=3F?=
[mysql, postgres] poprawne uzycie GROUP BY i JOIN
=?ISO-8859-2?Q?narz=EAdzie_-_poprawki_typo?=
[MySQL] problem z poprawnym złączeniem tabel
Fachowiec do poprawienia oscommerce potrzebny
Pytanie o poprawna kwerende w mysql 5
masowe poprawianie jako?ci zdj??
zanotowane.pldoc.pisz.plpdf.pisz.plchinska-zupka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|