Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gotowa klasa do łączenia się z MYSQL przez PDO, MySQLi oraz MySQL
adrix88
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 16.11.2007

Ostrzeżenie: (0%)
-----


Witam. Ostatnio zabrałem się za pisanie klasy do obsługi połączeń MySQL i poszukując inspiracji w sieci znalazłem dosyć ciekawą klasę do obsługi baz w której możemy wybierać typ połączenia PDO, MYSQLi lub MYSQL, tego w sumie potrzebowałem. Napiszcie co myślicie o tej klasie, jest waszym zdaniem dobrze napisana? Czy może znacie jakieś inne gotowe sprawdzone klasy?

LINK DO KLASY

Ten post edytował adrix88 23.06.2011, 23:36:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Od razu chciałbym uprzedzić że wszystko co jest napisane poniżej oparte jest o - niestety - bardzo małą wiedzę z zakresu przechowywania i przetwarzania danych, tak więc całkiem możliwym jest, że trochę bzdur może się tutaj znaleźć.
Przy okazji zaznaczę jeszcze raz, że ani ja, ani thek, ani ktokolwiek inny w tym wątku nie mamy najmniejszego pojęcia jakie dokładnie dane przechowujesz, co potrzebujesz z nimi robić,i jak często, czy dałoby się to jakoś zoptymalizować itd. Dlatego też nie padnie tutaj stwierdzenie, że "masz źle" bo nie mamy pojęcia czy to co masz jest dobre czy złe. Konieczne byłoby wykonanie testów żeby to potwierdzić albo ktoś kto już w przeszłości zmagał się z czymś podobnym i z doświadczenia może się wypowiedzieć. (IMG:style_emoticons/default/wink.gif)

Jak generalnie dobrze zauważyłeś podzielenie tego na mniejsze tabele, gdzie każda odpowiedzialna jest za reprezentowanie jakiś poszczególnych "elementów" tej całości niesie za sobą konieczność dodatkowej pracy dla silnika bazy danych. Jednakże może - bo jak już wspomniałem nie wiemy co Ty tam dokładnie robisz - również odciążyć go z całej masy roboty związanej ze "skakaniem" po dysku. Pamiętaj że dane zapisane są niejako ciurkiem i komputer nie może tak od odczytać sobie zawartości kolumny "passftp". Musi najpierw dojść do tego który fragment z serii zer i jedynek to wartość tej kolumny. Niestety w tej tabeli większość kolumn ma zmienną długość a więc konieczne będzie odczytanie długości wszystkich kolumn. Innymi słowy zakładając, że dane są zapisane na dysku w takiej kolejności jak w strukturze tabeli:
1. Ustawiamy się na początku rekordu.
2. Skaczemy o 16 bajtów (4 x INT)
3. Odczytujemy długość kolumny "name"
4. Skaczemy o długość kolumny "name"
5. Odczytujemy długość kolumny "game"
6. Skaczemy o długość kolumny "game"
...
91. Skaczemy o długość kolumny "password"
92. Odczytujemy długość kolumny "passftp"
93. W końcu odczytujemy zawartość kolumny "passftp"
Jak widzisz trochę operacji trzeba wykonać, i tak dla każdego jednego rekordu z osobna. Trzeba pamiętać o tym, że operacje dyskowe są często tym wąskim gardłem w prędkości działania aplikacji.

Nie wiem czy MySQL działa w dokładnie taki sposób - fajnie jakby ktoś bardziej obeznany mógł się wypowiedzieć - ale stawiam, że jednak będzie to coś w ten deseń.
Go to the top of the page
+Quote Post

Posty w temacie
- adrix88   Gotowa klasa do łączenia się z MYSQL przez PDO, MySQLi oraz MySQL   23.06.2011, 22:02:19
- - Fifi209   Pisanie "nakładek" na mysql_ czy mysqli_...   23.06.2011, 22:19:23
|- - zegarek84   Cytat(Fifi209 @ 23.06.2011, 23:19:23 ...   23.06.2011, 22:44:41
|- - Fifi209   Cytat(zegarek84 @ 23.06.2011, 23:44:4...   23.06.2011, 23:08:08
|- - zegarek84   Cytat(Fifi209 @ 24.06.2011, 00:08:08 ...   23.06.2011, 23:17:53
- - adrix88   Generalnie chodzi mi właśnie o uniwersalność, żeby...   23.06.2011, 22:54:30
- - zegarek84   do pojedynczego zapytania może i PDO wolniej wypad...   23.06.2011, 23:00:16
- - adrix88   Widzę że dosyć dobrze ogarniacie PDO, bo ja to prz...   23.06.2011, 23:08:41
- - Spawnm   Masz bindowanie oraz execute   23.06.2011, 23:13:57
- - Fifi209   Transakcje Tyle w temacie transakcji.   23.06.2011, 23:21:26
|- - zegarek84   kiedy właśnie te minimum 3-5k rekordów minimum sta...   23.06.2011, 23:28:50
- - adrix88   Kurcze, porobiłem właśnie kilka zapytań PDO i musz...   23.06.2011, 23:40:25
- - Fifi209   Tak. magic_quotes - oby zniknęło jak najprędzej, t...   24.06.2011, 02:04:04
|- - zegarek84   Cytat(Fifi209 @ 24.06.2011, 03:04:04 ...   24.06.2011, 07:51:07
- - adrix88   Fifi209, a co w tym złego że jest 60 pól w tabeli?...   24.06.2011, 02:46:42
- - nospor   CytatIm większy projekt tym więcej danych i żebyś ...   24.06.2011, 07:40:22
|- - adrix88   Cytat(nospor @ 24.06.2011, 08:40:22 )...   24.06.2011, 15:52:08
|- - zegarek84   Cytat(adrix88 @ 24.06.2011, 16:52:08 ...   24.06.2011, 16:03:52
- - Fifi209   zegarek, wiesz dla chcącego nic trudnego, o czym m...   24.06.2011, 10:58:56
- - thek   Znasz strukturę zapytania? Znasz. To w czym jest t...   24.06.2011, 16:17:06
- - adrix88   Dzięki za odpowiedzi, są dla mnie bardzo pomocne. ...   24.06.2011, 17:41:33
- - Fifi209   Jeżeli wykonujesz 100 zapytań co odświeżenie to gr...   24.06.2011, 17:44:36
|- - adrix88   Cytat(Fifi209 @ 24.06.2011, 18:44:36 ...   24.06.2011, 17:54:30
- - Crozin   @adrix88: Wydajność, a tym bardziej czytelność ko...   24.06.2011, 18:00:59
- - adrix88   No niby można je wrzucić do osobnej tabeli, ale ni...   24.06.2011, 18:12:44
- - Crozin   Tak jak napisałem - jeżeli masz jakieś konkretne p...   24.06.2011, 18:35:47
- - adrix88   Hmm, ale jaki będzie tu wzrost wydajności jeżeli p...   24.06.2011, 18:59:06
|- - Fifi209   Cytat(adrix88 @ 24.06.2011, 19:59:06 ...   24.06.2011, 19:38:09
- - Crozin   Jak już napisałem - nie mamy informacji by określi...   24.06.2011, 19:25:26
- - adrix88   Rozumiem. Chodzi mi bardziej żeby taka nakładka mi...   24.06.2011, 19:36:38
- - adrix88   Właśnie chyba nie do końca rozumiem działanie tych...   24.06.2011, 20:02:13
- - Crozin   Podstawowa zasada związana z wyjątkami: przechwytu...   24.06.2011, 20:14:54
- - Fifi209   Swoją drogą w przykładach powinno być bardziej: [...   24.06.2011, 20:25:47
- - adrix88   Czyli rozumiem że nie ma różnicy czy utworzę 30 bl...   24.06.2011, 21:11:17
- - Crozin   Rozumiem pytasz czy jest jakaś różnica pomiędzy[PH...   24.06.2011, 21:22:41
- - adrix88   Super. Dzięki wielkie, właśnie o taką odpowiedź mi...   24.06.2011, 22:20:01
- - zegarek84   ale wizulanie lepiej by to wyglądało porównanie Ko...   24.06.2011, 22:46:29
- - thek   @adrix88: Odniosę się tylko do samej pętli, o któr...   24.06.2011, 23:34:22
- - adrix88   Hm.. No tak, tylko że mając na myśli zapytania w p...   24.06.2011, 23:54:49
- - Crozin   Od razu chciałbym uprzedzić że wszystko co jest na...   25.06.2011, 01:00:09


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 04:37