Optymalizacja danych w tabeli

Optymalizacja danych w tabeli
FA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:475
0

Witam, zwracam sie do was z pewnym problemem dotyczącym optymalizacji danych przechowywanych w tabeli. Na ostatniej rozmowie kwalifikacyjnej zostałem zapytany o to, jak przyspieszyłbym szybkość wykonywania zapytań na tabeli, w której jest "dużo" rekordów, przyjmijmy że jest to tabela produktów w której jedną z kolumn jest "IsActive", która określa czy dany produkt jest aktywny. Chodzi tutaj o to, aby uwzględniając zawartośc tej kolumny przyspieszyć wykonywanie np selectów omijając rekordy które nie są "Active".

Macie jakies pomysły jaki mechanizm mozna tutaj zastosowac?

0

Przy takim poziomie pytań najlepszy pomysł to chociaż przejrzenie jakiejkolwiek książki o bazach danych. ;P

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Is this real life? Chodzisz na rozmowy kwalifikacyjne a nie wiesz że istnieja indeksy? o_O Widziałeś kiedyś na oczy bazę danych? Mnie się zdarzyło być pytanym o optymalizator kosztowy i o wszystkie możliwe poziomy izolacji transakcji a ludzie nie wiedzą to co indeksy :D


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
MI
  • Rejestracja:około 15 lat
  • Ostatnio:ponad 8 lat
1

Indexy, partycjonowanie.

FA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:475
1
misiakufal napisał(a):

Indexy, partycjonowanie.

Znasz cos jeszcze oprocz tych podanych? Celowo nie dopisalem swoich odpowiedzi na to pytanie, zeby poznac wiecej mozliwych odpowiedzi, ale widze, ze glowni bohaterzy watku o zgorzkniałych programistach z 4p juz zdazyli (zdazyl) sie pochwalic jakie trudne zagadnienia przerabia na swoich rozmowach i oczywiscie wyrazic zdumienie ze nie kazdy jest tak zaawansowany/doswiadczony.

Wracajac do tematu, pierwsza moja odpowiedz to wlasnie indeks, ale rekruter pokrecil nosem i skwitowal to tak, ze ewentualnie moze by to cos przyspieszylo, ale to nie jest mechanizm, ktory mial na mysli. Pozniej kombinwalem z podzieleniem tabeli na mniejsze, zawierajace produkty aktywne i nie aktywne, rodzielic te dane fizycznie itd, rektuter mowil ze troche lepiej i blisko ale sa jeszcze dwie, trzy rzeczy ktore tez warto zastosowac. Nie wiem o co moglo chodzic, dlatego zalozylem temat i pytam specjalistow

somekind
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:3 dni
  • Lokalizacja:Wrocław
1

Ja bym zrobił widok zmaterializowany, w którym są same aktywne produkty.

Weź pod uwagę to, że nie jesteśmy wróżkami, więc nie odczytamy myśli Twojego rekrutera. ;)


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)