Moje poprzednie pytanie zostało trochę błędnie zinterpretowane i odpowiedzi, które uzyskałem opisywały zagadnienie, które mnie nie interesowało. Dlatego powtarzam pytanie, ale z innym przykładem:

Pytanie do wszystkich #programista15k w szczególności zajmujących się #programowanie #sql

Macie w bazie (np. #mysql #sqlite #postgres ) sporą tabelkę zawierającą produkty wraz z ceną, kategorią i sprzedawcą.

CREATE
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mateusza: po pierwsze wypadałoby znormalizowac tabele products. Skoro użytkownik podaje listy to należałoby by stworzyć user defined table types i wykorzystac joiny do filtrowania danych zamiast setek statementow where. Pozniej jeszcze odpowiednio poindexowac i na deser zostaje zoptymalizowac query plan i permissions. Jak masz dobrze zaprojektowana warstwe baz danych to masz z górki i obojętnie ktorym frameworkiem zdecydujesz sie ja zaprezentować kazdy powinien to udźwignąć bez żadnego problemu. I mysle,
  • Odpowiedz
Mam bazę w #sqlite i w niej 2 tabele - główną i powiązaną.
Na każdy wiersz w głownej przypada jakiś 1Kb danych w tabeli powiązanej. Te dane to rozbity na części json, bo tak łatwiej coś "znaleźć"

Teraz pytanie czy nie lepiej (ze względu np na flasha/ssd, wydajność) zrobić 1 główna tabelę, w której będzie cały json i go w uaktualniać?
O transakcji pamiętam.

Które rozwiązanie lepsze

  • 2 tabele 11.1% (1)
  • 1 tabela 33.3% (3)
  • inne rozwiązanie - w komentarzu 55.6% (5)

Oddanych głosów: 9

  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@vipe: zawsze mogę coś skopać ;-) Dane w bazie będzie zapisywać proces w tle wiec nie będę miał nad nim cały czas kontroli.

Zmierzyłem sobie ile zapisuje na dysku w czasie 1 inserta i wychodzi mi kilkanaście kilo.
Głowny plik sqlite ma powiedzmy 20kilo ale shm i wal (journal?) łącznie 10 razy tyle
W takim tempie przy 15 insertach co kwadrans mam prawie 30mb dziennie. Tragedii nie ma
Sprawdzę sobie w wolnej chwili
  • Odpowiedz
Mam bazę w #sqlite i w niej 2 tabele - główną i powiązaną.
Na każdy wiersz w głownej przypada jakiś 1Kb danych w tabeli powiązanej. Te dane to rozbity na części json, bo tak łatwiej coś "znaleźć"

Teraz pytanie czy nie lepiej (ze względu np na flasha/ssd, wydajność) zrobić 1 głowną tabelę, w której będzie cały json i go w uaktualniać?

#naukaprogramowania

Które rozwiązanie lepsze?

  • 2 tabele 50.0% (3)
  • 1 tabela 16.7% (1)
  • inne - komentarz 33.3% (2)

Oddanych głosów: 6

  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ogłaszam przekleństwo zbyt okrągłych liczb otrzymanych w wyniku jakichś operacji w programowaniu.
Robię kopiowanie rekordów z jednej tabeli w bazie danych do drugiej. Normalne pojedyncze zapytanie:

INSERT INTO tabela2 (kolumna) SELECT kolumna FROM tabela1
Kopiuje mi dokładnie 1000 rekordów, ale w logu mam: Affected rows: 1424. Tyle też jest rekordów w pierwotnej tabeli. Podświadomie załączyła mi się faza, że ogranicza mnie jakiś nieznany mi limit w MySQL. Pewnie dlatego, że w SQLITE korzystałem lata temu
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy jest tu ktoś kto umie #sqlite #bazydanych? Chcę zrobić tagi dla konkretnego obrazka (czyli relacja wiele do wielu) zatem mam:
1) Tabele ImagesPath (INT id, TEXT imagePath)
2) Tabele Tags (INT id, TEXT title)
3) Tabele ImageTag (i tutaj z tego co wyczytałem musze dać: int id, int Tags.id, int ImagesPath.id) tylko nie wiem totalnie jak to zrobić, wiem że muszę się jakoś odwołać do tego
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrFisherman: Jeżeli robisz to dla siebie możesz użyć MlKit`a albo czegoś podobnego do rozpoznawania rzeczy na obrazku (ze względu na małą ilość zapytań która prawie nic nie będzie kosztować). On sam wtedy wydziela tagi dla zdjęć, ale nie jest to łatwe do ogarnięcia (Tzn. model AI dostaniesz, ale musisz umieć zarządzać jego odpowiedzią). Tu masz Vision API: https://cloud.google.com/vision/
Baza danych by Ci się przydała, gdyby user sam nadawał tagi i
  • Odpowiedz
W dużym uproszczeniu - mam tabelę A, w której mam zestawienie materiału, chciałbym wygenerować tabelę B, w której mają się znaleźć wszystkie wystąpienia danej nazwy i powiązać je z tabelą A. W jaki sposób mogę to zrobić w #sqlite?

TabelaA

| Aid | Ilosc | Nazwa
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 0
@ck__ @vipe Dzieki, sprobuje jutro. Robie cos z doskoku. Ogolnie z jednego oprogramowania dostaje plik z gotowa baza w formacie .sqlite3 i wczytuje do drugiego oprogramowania. Moge jedynie dodac kilka funkcji w miedzyczasie, ktore moga zmienic uklad tabel. Chce wygenerowac indywidualne numery na czesci laczac w dodatkowej kolumnie wartosci innych kolumn. Problem w tym, ze otrzymuje wartosci zsumowane np. 5 amortyzatorow. Chce zrobic osobna kolumne, w ktorej kazdy z 5
  • Odpowiedz
#androiddev #programowanie #sqlite
Piszę malutką apkę używającą SQLite, z którego dane wyświetlać ma RecyclerView, ale mam problem, bo wyskakuje mi komunikat: TaskDBHelper.getAllItems()' on a null object reference.
Jest to moje pierwsze zetknięcie z SQLite, więc za Chiny ludowe nie mam pojęcia gdzie zrobiłem błąd.

Rzeczona metoda:
public Cursor getAllItems() {
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pokusof: Jak ktoś ściągnął 3.2.0, to był błąd w paczkowaniu i nie ma wtyczki do podglądania obrazków bezpośrednio z bazy. Jeśli ktoś aktualizuje automatycznie do 3.2.1, to potem trzeba jeszcze uruchomić ręcznie apkę "UpdateSQLiteStudio" i wybrać tam "add/remove component", następnie rozwinąć listę pozycji i zaznaczyć "Image viewer/editor plugin" i zainstalować.

Można też ściągnąć cały instalator 3.2.1 ze strony, który zawiera już tą wtyczkę.

W przyszłych wersjach instalator automatyczny będzie ulepszany,
  • Odpowiedz
@usmiechniety_syzyf: Nie należy też ignorować słowa might w przytoczonym cytacie, ponieważ niekoniecznie Redis będzie szybszy. To zależy wielu czynników.

Tak czy inaczej, 30000 insertów to jest raczej "nic" dla większości baz danych, wliczając w to obydwie wspomniane.
  • Odpowiedz
@usmiechniety_syzyf: Nie wiem czy pytasz o pamięć zamjowaną przez skrypt, czy przez silnik bazy? Jeśli o to drugie, no to w przypadku SQLite'a nie ma tego problemu (dane są zapisaywane na dysku i nie są trzymane w pamięci). Natomiast Redis trzyma wszystko w pamięci, więc jeśli planujesz go używać, to musisz sobie policzyć ile masz pamięci i ile będziesz generował danych. W pewnym momencie na pewno uderzysz w limit, pytanie
  • Odpowiedz
@kosmiczny_maupiak: Standardowa wersja SQLite np. w Ubuntu tego nie ma wkompilowanego... O ile z linii poleceń to jeszcze można sobie skompilować i załadować dynamicznie, o tyle do SQLite w PHP już nic dynamicznie nie załadujesz.
  • Odpowiedz
@mateusza: To już chyba łatwiej z rekurencją, albo joinami, bo z json_each() to jest czytelne jako kod perla ( ͡° ͜ʖ ͡°) Do tego nie uzależniamy się wtedy od rozszerzeń.
  • Odpowiedz
#java #sqlite
Jak dodać do try with resorces warunek żeby nie szukało rekordów powyżej

SELECT count (*) from songs czyli maksymalnej liczby piosenek, jeśli do metody wprowadzę liczbę 5 000 a piosenek mam tylko 3000?
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

No elo mirki ( ͡° ͜ʖ ͡°) chciałbym usiąść dzisiaj do #java #spring boot i napisać prostą stronę z funkcją logowania i uploadu plików + podejrzenie bazy #sqlite (jestem w trasie i przeglądając neta zauważyłem, że jest masa tutoriali z MySQL albo H2 aczkolwiek z SQLite mało)

Jakby jakiś mirek chciałby usiąść ze mną do tego o 20:00 to byłoby szybciej, milej
cebula_prazona - No elo mirki ( ͡° ͜ʖ ͡°) chciałbym usiąść dzisiaj do #java #spring b...

źródło: comment_qb1fbQU3J9hi535PWrE7fzmuw0Oe0hyx.jpg

Pobierz
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@plushy: Ten mój sarkazm z założenia miał bazować na nietrafionej argumentacji, więc się nie skupiłem na szczegółach. Nie wiem czy obecnie w innych językach płaczą nad tym, że muszą robić "po nowemu".
  • Odpowiedz
Mircy, czy znacie jakiś dobry darmowy soft do modelowania bazy danych rozumiejący MySQL i SQLite? Interesują mnie takie które:
- pozwalają na eksport grafu do SQL dla MySQL i SQLite
- działają pod Linuksem na desktopie (nie aplikacja webowa),
- są darmowe najlepiej open source
- tworzenie grafu z pliku SQL albo istniejącej bazy będzie dodatkowym atutem.
Swego czasu korzystałem z darmowej wersji SQL Power Architect, tylko to trochę stare, java
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach