Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 0 Dołączył: 24.04.2009 Ostrzeżenie: (30%)
|
Cześć. Mam mały dylemat jak stworzyć bazę danych aby była ona jak najbardziej optymalna. Chce zrobić takie pola:
ID (UNSIGNED int(11 czy bez wartości max?)) login (varchar (z wartością w nawiasie lepiej czy nie?)) pass (char(32)) level (tinyint(1)) Prędzej będzie jeszcze mail ale pomijam ponieważ chodzi o samą zasadę. Czy umieszczenie w nawiasie maksymalnej wielkości coś daje? (chodzi o wielkość i szybkość bazy) Czy raczej to bez różnicy? Jeżeli tak to jakie wartości wystarczą dla mail oraz login? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
@Wookieb: nie chodzi mi o numer index. Doświadczalnie kiedyś sprawdzał kumpel jak się ma enum do szybkości operacji w bazie na danych i empirycznie doszliśmy do tego, że enum musi mieć jakiś indeks założony, bo inaczej nie mógłby być taki szybki. Wygląda na to, że same nazwy są jedynie "nakładką tekstową" na najbliższy pasujący ilości elementów wariant inta lub binary z założonym indeksem i to na tym tak naprawdę on operuje, a nie na tekstach widocznych dla usera. Inaczej nie mogę wytłumaczyć takiej szybkości operacji. A nie sprawdzałem nigdy kodu silnika MySQL więc są to moje przypuszczenia na temat możliwej implementacji enum w tej bazie. Ojej. A poza tym, że "DOSZLIŚCIE" do czegoś co jest wszędzie znane nie wpadłeś na pomysł, że byłoby GŁUPIE aby mysql sam tworzył indeks dla pola które jest typu ENUM? BA! Tworzyłby je w swoim "wymiarze" tylko po to by użytkownik o tym nie wiedział? Wynika z tego, że tak bo przecież Cytat Inaczej nie mogę wytłumaczyć takiej szybkości operacji. A jak nie wytłumaczysz mi dlaczego bóg nie istnieje tzn, że istnieje? Dla pełnej jasności
Test
Kod SIMPLE test ALL NULL NULL NULL NULL [color="#FF0000"][size="5"]8[/size][/color] Using where Dodajemy indeks
EXPLAIN
No chyba, że wcześniej straciłem połączenie z innym wymiarem.
Powód edycji: [wookieb]:
|
|
|
|
mperlam [MySQL]Jaki typ danych dla bazy 18.01.2011, 17:51:17
nospor CytatID (UNSIGNED int(11 czy bez wartości max?))11... 18.01.2011, 17:55:54
Crozin 1. Typ całkowity (INTEGER) i jego pochodne nie maj... 18.01.2011, 18:00:15
mperlam Dzięki. W takim razie czemu służy ta wartość? Po c... 18.01.2011, 18:02:50
Crozin CytatDzięki. W takim razie czemu służy ta wartość?... 18.01.2011, 18:09:35
mperlam Ok, chciałbym jeszcze się dowiedzieć dlaczego stos... 18.01.2011, 18:20:10
nospor bo do bazy zamiast wkladac 9 bedziesz wkladal ... 18.01.2011, 19:03:43
mperlam W przyszłości chcę mogę zmienić nazwy/rozbudować r... 18.01.2011, 19:09:53
thek @nospor: Enum jest wydajniejsze z prostej, jednej,... 18.01.2011, 20:13:28
nospor Cytat@nospor: Enum jest wydajniejsze z prostej, je... 18.01.2011, 20:16:05
wookieb Cytat(thek @ 18.01.2011, 20:13:28 ) @... 18.01.2011, 20:16:58
Crozin @thek: Super, że napisałeś mały wywód, ale... nij... 18.01.2011, 20:28:11
thek @Wookieb: nie chodzi mi o numer index. Doświadczal... 18.01.2011, 23:31:45
Ulysess a czy nie lepszym sposobem jest zrobienie w głowne... 19.01.2011, 12:25:18
wookieb Cytat(Ulysess @ 19.01.2011, 12:25:18 ... 19.01.2011, 12:29:55
Crozin Co do UNSIGNED: http://en.wikipedia.org/wiki/Signe... 19.01.2011, 12:36:32 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 22:02 |