![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
cześć
![]() zapytanie do bazy danych A:
i drugie - z nazwa.pl mnie wywalili kiedyś bo ponoć obciążało serwer - zapytanie do bazy danych B:
teraz znalazłem sobie coś takiego:
czym to się różni ? które jest lepsze i gdzie mógłbym o tym poczytać ? Czy ktoś mógłby mi napisać jak przerobić przykład A i B - by uzyskać ten sam efekt ale żeby było to prawidłowo napisane ?; Czy ktoś wie/ zna linka - do listy jakie zmienne stosować w bazie ? np imie, nazwisko, kod pocztowy, numer banku itd... teraz mam dla przykładu: CREATE TABLE `config` ( `mbanka` decimal(1,0) NOT NULL default '0', `mbankid` varchar(10) NOT NULL default '', `telefon_serwisu` varchar(50) NOT NULL default '', `polec_tresc` text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin2; CREATE TABLE `uzytkownik` ( `id` bigint(32) NOT NULL auto_increment, `a` decimal(1,0) NOT NULL default '0', `no` varchar(100) NOT NULL default '', `dodano` varchar(30) NOT NULL default '', `ip` varchar(200) NOT NULL default '', `imie` varchar(60) NOT NULL default '', `nazwisko` varchar(60) NOT NULL default '', `email` varchar(60) NOT NULL default '', `user_pass` varchar(255) NOT NULL default '', `wojewodztwo` varchar(60) NOT NULL default '', `branza` varchar(200) NOT NULL default '', `nip` varchar(20) NOT NULL default '', `kraj` varchar(5) NOT NULL default '', `telefon` varchar(20) NOT NULL default '', `urodzony` varchar(15) NOT NULL default '', `firma` varchar(150) NOT NULL default '', `ulica` varchar(150) NOT NULL default '', `nrdomu` varchar(10) NOT NULL default '', `nrmieszkania` varchar(10) NOT NULL default '', `miasto` varchar(100) NOT NULL default '', `kod` varchar(10) NOT NULL default '', `pp` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=103 ; Proszę o pomoc ![]() ![]() |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 2 Dołączył: 23.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
zawsze jakas optymalizacja, to tak jak na rl, po co cos brac jak i tak tego nie uzyjesz?
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kod `ip` varchar(200) NOT NULL default '', Kod `user_pass` varchar(255) NOT NULL default '', Kod `urodzony` varchar(15) NOT NULL default '', `IP` to int ( ewentualnie może być varchar(15) ), `urodzony` to date, a `user_pass` zakodowane w md5 zawsze się zmieści w varchar(32) (a nawet w binary(16) ) Ogólnie to google -> manual MySQL -> typy danych Ten post edytował Kicok 24.06.2008, 15:55:15 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
no poczytałem i chyba już łapie - czy to chodzi np.:
1) `a` decimal(1,0) NOT NULL default '0', - można wpisac od 1 do 9 i bez miejsc po przecinku ? 2) `a` decimal(2,0) NOT NULL default '0', - można wpisac od 1 do 99 i bez miejsc po przecinku ? 3) `dodano` varchar(30) NOT NULL default '', - można wpisac cyfry i znaki o długości 30 ? 4) `dodano` char(10) NOT NULL default '', - można wpisac słowo które ma np do 10 liter ? 5) `id` int(3) NOT NULL auto_increment, - można wpisać cyfry np od 1 do 999 ? Czy dobrze rozumuję ? ![]() ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze rozumujesz.
![]() Jeszcze tylko różnica między char i varchar, przykładowo: CHAR(10) - jak zapiszesz słowo krótsze niż 10 znaków, zostanie dopełnione zerami chyba, tzn nieważne ile znaków ma słowo, zawsze będzie zajmowało 10 znaków (choć przy odczycie i tak dostaniesz bez zer, chodzi o składowanie danych w pamięci) VARCHAR(10) - jak zapiszesz słowo krótsze niż 10 znaków, zajmie ono dokładnie tyle miejsca w bazie ile ma (słowo 4znakowe - 4 bajty itd) VARCHAR - oszczędność w rozmiarze bazy CHAR - bodajże większa szybkość przy przeszukiwaniu Do hasła - stosuj MD5, wtedy każde hasło ma 32 znaki, a pole idealne do tego to CHAR(32) Do innych danych, których długośc nie jest stała, stosuj VARCHAR, na początek powinno wystarczyć. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok. dzięki serdeczne, teraz jak patrze na tą moją bazkę to mase wolnego miejsca pozadeklarowywane jest i nigdy raczej nie bedzie użyte
![]() ![]()
jak widać w przykładzie mieli mi całą tabelke - czy można powyższe przerobić by efekt był taki sam ale zeby było dobrze i żeby mniej obciążało - zeby było bardziej wydajne ? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
z nazwa.pl mnie wywalili kiedyś bo ponoć obciążało serwer Raczej nie opłaciłeś abonamentu, bo nawet jeśli przekroczyłeś maksymalny limit zapytań na godzinę, który wynosi obecnie 200 000, to najwyżej mogłeś utracić dostęp do bazy danych do najbliższej pełnej godziny. Nie krytykuj dobrych firm hostingowych wymyślonymi argumentami! -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
raczej nie zawsze miałem opłacony abonament - ale jak ma mi wisieć pod serwisami wiecznie info o przekroczeniu.... może i to dobra firma - ale ten wątek nie jest o tym tylko o optymalizacji - obsługa na nazwie jest beznadziejna - jedyne lekarstwo to rozwiązanie umowy i info o niezoptymalizowanych zapytaniach do bazy - no i mieli racje - jak wisiało mi na wirtualce 50 serwisów to im sie przycinało wszystko - teraz mam dedykowaną jednostkę w innej firmie i śmiga fakt ze dalej pochłania zasoby maszyny ale wisi tylko jedna moja firma na fizycznej jednosce a nie 100 na wirtualkach - tak więc nie chce tam nikogo w nazwie obrazac - może i dobra firma - ja mam inne zdanie i mam prawo je wyrazic
![]() ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:03 |