![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[JESLI NIE MASZ CZASU TO GłOWNE PYTANIE ZNAJDUJE SIę POD TEKSTEM]
Witam, będę potrzebował macierz odległości pomiędzy jakimiś punktami w Polsce. Pewnie każdy zna takie macierze odległości między miastami (można sprawdzić w takiej "tabelce" jaka jest odległość np. między Wrocławiem a Łodzią lub między Gdańskiem a Szczecinem) - tu jednak sprawa jest dosyć prosta, bo obejmuje zazwyczaj około 20 największych miast. Moich punktów będzie znacznie więcej (nawet kilkadziesiąt tysięcy albo może nawet więcej). I tu mam pytanie: Czy zawarcie takiej macierzy w tabeli w mySql powiedzie się? Czy to się nie rozsypie? Jaka jest ewentualnie największa możliwa ilość kolumn przy takiej samej co ilość kolumn ilości wierszy? A może w ogóle to nie jest dobry pomysł i lepiej byłoby to zrobić inaczej? Bo jeszcze ewentualnie można zrobić dla każdego obiektu (miasta) zrobić osobną tabelę, ale jeśli miałoby ich być już kilkaset czy kilka tysięcy to nie wiem jakby to działało. GENERALNIE: JAK MYSQL RADZI SOBIE Z BARDZO DUżą ILOśCIą KOLUMN W TABELI (KILKADZIESIąT TYSIęCY) ALBO Z BARDZO DUżą ILOśCIą TABEL (KILKADZIESIąT TYSIęCY) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tez pogooglalem i wyszlo, ze:
-praktycznie nie ma ograniczenia co do ilosci wierszy, jedynie ograniczenie wielkosci bazy często równe 4GB (ale wiadomo, ze to jest jakostam do przejscia), -maksymalna ilosc kolumn 3398 A co do problemu to się w pewnym sensie rozwiazal (już zanim napisał o tym orson), bo kazdy obiekt faktycznie bedzie mial wspolrzedne X,Y, a co dalej za tym idzie wystarczy użyć twierdzenia Pitagorasa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) SQRT(POW(x2-x1,2)+POW(y2-y1,2)) Dzięki wszystkim za pomoc, ale jeszcze mam jedno pytanie: czy baza danych, w której jest kila(naście) tysięcy tabel, jest faktycznie "źle zaprojektowana"? DLACZEGO? (to głównie pytanie do php programmer) Pytam, ponieważ jednak nadal raczej uważam, że dobrze by było, gdyby każdy obiekt miał swoją tabelkę, bo zapytanie typu: "select .... from ... WHERE odleglosc>20" jest szybsze niż "select ... from ... where SQRT(POW(x2-x1,2)+POW(y2-y1,2))>20", szczególnie, że tabela każdego obiektu generowna byłaby bardzo żadko, a to drugie bardziej skomplikowane zapytanie byłoby wykonywane na okrągło.. W tym momencie uważam, że lepiej poświęcić porządek w bazie na rzecz szybkości działania. A WY? Ten post edytował wojckr 22.01.2008, 21:14:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 14:38 |