Article View: pl.comp.bazy-danych
Article #194934Re: Relacja wielu do wielu w mySQL/MariaDB
From: M.M.
Date: Tue, 03 May 2016 11:14
Date: Tue, 03 May 2016 11:14
35 lines
2831 bytes
2831 bytes
On Tuesday, May 3, 2016 at 12:24:48 PM UTC+2, Borneq wrote: > Przepraszam, może pytanie banalne. > Ale mam bazę mySQL albo mariaDB. W niej mam gromadzić transakcje z > bloków Bitcoina. Przy czym jeden blok ma wiele transakcji - tabela > transakcje. Ale jedna transakcja może mieć wiele adresów wejściowych i > wyjściowych. Adresy mogą się powtarzać dla wielu transakcji. > Kłopot że to relacyjna baza danych a nie np. obiektowa. > Trzeba zrobić chyba tak, że w tabeli transakcje trzymać tylko hasze > transakcji, a pozostałe dwie tabele to będą pary (hasz,adres) jako > klucz. (jak zrobić parę jako jeden klucz?) Pierwsza sprawa: Poczytaj, jest opisane jak się takie klucze i indeksy definiuje. Po drugie, osobiście polecam zawsze zdefiniowanie klucza bigint jako klucza głównego w każdej tabeli, nawet jeśli istnieje 'naturalny klucz' typu pesel, albo Twój hash. > ale wtedy jak będzie wyglądało przeglądanie tabeli transakcje, może > spowolnić gdy będę dla każdej wartości wyszukiwał adresy z relacji. > Potrzebne indeksy (jakie?), Sprawdź btree lub hash i wybierz szybszy. Gdy użyjesz biginta jako klucza, to baza może sama wygenerować indeksy. > jak to wszystko ułożyć aby działało szybko? > A może dla małej ilości adresów, np. 3 trzymać je w tabeli transakcji, > tylko dla większej korzystać z relacji? Szybko... nie rozumiem wszystkich szczegółów. Możesz wkleić Twój bieżący projekt tabel i zapytanie które wolno działa lub obawiasz się że będzie wolno działało? Pozdrawiam
Technical Details
Message-ID:
<d9c69035-f012-4347-89b3-4fb0df96ee3c@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.glorb.com!11no1118897qgt.0!news-out.google.com!c13ni7356qge.1!nntp.google.com!88no1118584qga.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<ng9u9e$j6l$1@node1.news.atman.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.129.145.81 with SMTP id i78mr1039665ywg.8.1462274042401; Tue, 03 May 2016 04:14:02 -0700 (PDT) X-Received: by 10.140.100.142 with SMTP id s14mr34343qge.3.1462274042374; Tue, 03 May 2016 04:14:02 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.us.feeder.erje.net!news.glorb.com!11no1118897qgt.0!news-out.google.com!c13ni7356qge.1!nntp.google.com!88no1118584qga.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.bazy-danych Date: Tue, 3 May 2016 04:14:02 -0700 (PDT) In-Reply-To: <ng9u9e$j6l$1@node1.news.atman.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.37.232.66; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 178.37.232.66 References: <ng9u9e$j6l$1@node1.news.atman.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <d9c69035-f012-4347-89b3-4fb0df96ee3c@googlegroups.com> Subject: Re: Relacja wielu do wielu w mySQL/MariaDB From: "M.M." <mmarszik@gmail.com> Injection-Date: Tue, 03 May 2016 11:14:02 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit