Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wydajność baz SQLite
Forum PHP.pl > Forum > Bazy danych > SQLite
Grzyw
Nie wiem, czy ten fakt się komuś przyda (widząc po liczbie postów to rozszerzenie jest wciąż słabo popularne)...

Stworzyłem ostatnio aplikację internetową w ramach pracy magisterskiej, używając bazę danych SQLite. Przy wyciąganiu danych z bazy wszystko było OK, natomiast zapis do bazy okazał się koszmarnie powolny. Dlatego ostrzegam przed implementacją systemów, w których następować będzie masowy update rekordów.
dr_bonzo
A masz jakies benchmarki, testy wydajnosciowe, ktore moglbys zaprezentowac?
Grzyw
Nie, niestety nie... Tworzona aplikacja opierała się na Flash'u, php i SQLite właśnie - system bazodanowy był tylko jednym z modułów aplikacji, któremu w pracy nie poświęciłem wiele miejsca.
Zapewniam jednak, że na localhost było ciężko, a po wysłaniu aplikacji na serwery dwóch dość popularnych provider'ów, ten system wydajnościowo totalnie padał.
Riklaunim
SQLite jest wolna przy zapisach a szybka przy pobieraniu danych. Można jednak optymalizować - art smile.gif
zegarek84
problem dla sqlite jest tylko gdy baza jest zbyt czesto aktualizowana i w tym samym czasie odwiedzana - jednak normalnie zapis do niej ni ejest też powolny - bym tylko nazwal po swojemu - dostęp do tej bazy podczas zapisu jest monogamiczny ;p



jeśli updatujemy więcej rekordów lub na raz dopisujemy to pasuje kożystać z sesji - co bardzo przyśpieszy - gdyż baza nie będzie za każdym razem otwierana i zamykana...
http://www.tanguay.info/web/codeExample.php?id=728
Riklaunim
Ja na SQLite nie narzekam smile.gif

I zero problemów smile.gif
mike
~Riklaunim żeby wykres cokolwiek oznaczał wypadałoby opisać osie.
kwiateusz
osie sa podpisane ze idzie sie domyslec co przedstawiaja smile.gif brak szerszego omowienia wykresu

sądze iż jest to jest kawałek z google analytics i przedstawia ze mial 5 tyś odwiedzajacych (i wnioskuje ze serwis nie siadł, a jest oparty o sqlite)
mike
Wiem, że to GoogleAnalytics i że pewnie pokazuje odwiedziny.
Ale może równie dobrze pokazywać ilość odpytań bazy i tego bym się spodziewał w tej dyskusji.
Riklaunim
Co do szczegółów to efekt Reddita artykułu na rkblog.rk.edu.pl smile.gif Wykres przedstawia ilość "wizyt". SQLek na widoku artykułu jest około 7. Z localhosta lista jest taka (duplikaty ponownie się nie wykonują):

Kod
0.006: SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."session_key" = XXXXX AND "django_session"."expire_date" > 2008-10-12 16:52:54.084188 )

0.000: SELECT "rk_content3"."id", "rk_content3"."title", "rk_content3"."slug", "rk_content3"."description", "rk_content3"."text", "rk_content3"."content_type", "rk_content3"."place_id", "rk_content3"."date", "rk_content3"."is_update", "rk_content3"."changes", "rk_content3"."book_order", "rk_content3"."author_id", "rk_content3"."comments_count", "rk_content3"."coment_topic_id", "rk_content3"."coment_forum_id", "rk_content3"."current_book", "rk_content3"."current_book_title", "rk_content3"."crumb" FROM "rk_content3" WHERE "rk_content3"."slug" = korzystanie-z-datastore-w-google-app-engine

0.000: SELECT "rk_content3"."id", "rk_content3"."title", "rk_content3"."slug", "rk_content3"."description", "rk_content3"."text", "rk_content3"."content_type", "rk_content3"."place_id", "rk_content3"."date", "rk_content3"."is_update", "rk_content3"."changes", "rk_content3"."book_order", "rk_content3"."author_id", "rk_content3"."comments_count", "rk_content3"."coment_topic_id", "rk_content3"."coment_forum_id", "rk_content3"."current_book", "rk_content3"."current_book_title", "rk_content3"."crumb" FROM "rk_content3" WHERE "rk_content3"."id" = 186

0.000: SELECT "rk_forum3"."id", "rk_forum3"."category_id", "rk_forum3"."name", "rk_forum3"."description", "rk_forum3"."topics", "rk_forum3"."posts", "rk_forum3"."lastposter", "rk_forum3"."lasttopic", "rk_forum3"."modification_date", "rk_forum3"."order", "rk_forum3"."use_prefixes", "rk_forum3"."allow_anonymous", "rk_forum3"."use_moderators" FROM "rk_forum3" WHERE "rk_forum3"."id" = 9

0.000: SELECT "rk_forum3"."id", "rk_forum3"."category_id", "rk_forum3"."name", "rk_forum3"."description", "rk_forum3"."topics", "rk_forum3"."posts", "rk_forum3"."lastposter", "rk_forum3"."lasttopic", "rk_forum3"."modification_date", "rk_forum3"."order", "rk_forum3"."use_prefixes", "rk_forum3"."allow_anonymous", "rk_forum3"."use_moderators" FROM "rk_forum3" WHERE "rk_forum3"."id" = 9

0.007: SELECT "rk_content3"."slug", "rk_content3"."title" FROM "rk_content3" WHERE ("rk_content3"."book_order" > 0 AND "rk_content3"."content_type" = book ) ORDER BY "rk_content3"."book_order" ASC

0.000: SELECT "auth_user"."id", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."password", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."is_superuser", "auth_user"."last_login", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.