Wpis z mikrobloga

#programista15k #bazydanych #sql
Programiści nie potrafią w bazy danych.

Kawusia, połączenie do nowego projektu, a tam:
MobileApplicationName VARCHAR(8000)
MobileApplicationID VARCHAR(8000)

Nazwa aplikacji na 2 strony w Wordzie. I tak praktycznie każda kolumna.
Na kolumnach całkowity brak ograniczeń,indeksów, relacji.
Naście lat w tym biznesie i za każdym razem to samo [:
  • 38
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RomantycznyRoman: Dokładnie. Widok na widoku, często nazwy tak odlatują, ze ktoś nawet nie wie i robi self join do źródłowych danych. Widzę kolega doskonale rozumie specyfikę tej pracy w przeciwieństwie do @rosso_corsa ;)

@masaj: Dobre XD ale w sumie mogę spróbować, widziałem VARCHAR(5) dwa stany, 'TRUE','FALSE', zapisane w dowolny sposób wliczając spacje. O ile SQL Server ignoruje rozmiar to już inne systemy płaczą.
I żeby było ciekawiej funkcja która
  • Odpowiedz
@masaj: [:
@globalbus Niestety ale nawet przy braku problemów z wydajnością w dzisiejszym świecie bazy nie istnieją w zamkniętej przestrzeni, ktoś to w końcu zaimportuje. ;) Nawet z racji weryfikacji danych i poprawności warto te pola ograniczać. Do tego jak pracujesz na danej bazie fajnie byłoby jednak znać jej specyfikacje ;)

Twórcy postgresql sami zachęcają do używania typów bez rozmiaru, co jest wygodne, ale kłóci się z jakością, integralnością
  • Odpowiedz
@apo: no i zapewne czas jaki poświęciłeś na te rozkminy i naprawy kosztował dużo więcej niż strata wydajności serwera przez ostatnie 5 lat + koszty stażysty
To jest dopiero problem
  • Odpowiedz
@edgar_k: Patrząc na czasy zapytań i koszt tych wszystkich pracowników przez 5lat+ siedzących na tyłku czekając na raport to zdecydowanie nie więcej ich kosztowało i dzięki mnie oszczędzają. Tak dla przykładu jedna tabela po optymalizacji z 190GB na 6GB, zapytania po 12 minut na sekundy.

@Antyradek: 2020 ludzie nadal nie rozumieją dlaczego nazwa aplikacji powinna mieć jakiś limit długości ;) Fakt postgresql ma fajne rozwiązanie, już o tym
  • Odpowiedz
  • 1
@apo niestety obecnie latwiej i taniej (jako jednorazowy koszt) jest dolozyc ramu (a nawet cpu) niz zainwestowac w optymalizacje, ktora w dluzszym czasie bedzie wieksza oszczednoscia ¯_(ツ)_/¯

8k znakow na nazwe aplikacji jest mega zastanawiajace ...
  • Odpowiedz
@ms86: W sumie to zależy od kosztów. Kiedyś walczyłem o optymalizacje, bo miesięcznie na serwery szło po 60kUSD ,nikogo to nie obchodziło. Nagle jak się jeden klient wysypał, to cięcia gdzie się tylko dało. Oczywiście w stylu amerykańskim po fakcie, przed nie warto było słuchać, że trzeba ludzi przeszkolić, bo marnujemy kolosalną kasę itd.
  • Odpowiedz
@mr_hammerer: T - Tak, N - Nie.
Ja w takiej sytuacji używam typu bit. ORM mapuje mi to na boolean i moim skromnym zdanie tak to powinno wyglądać. Jeśli masz sytuacja dotycząca płci, to widzę sens używania pojedynczych literek. Ale przy „tak/nie”?
  • Odpowiedz