Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Szybkość wykonywania
Warmix
post 15.08.2016, 18:22:24
Post #1





Grupa: Zarejestrowani
Postów: 173
Pomógł: 0
Dołączył: 13.06.2011

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


Wykonuję w obrocie pętli wiele przeróżnych operacji. Przy działaniu na powiedzmy 1000 rekordów dość szybko zostaje wszystko przetworzone, problem zaczyna się, gdy tych rekordów mam koło 20000. Całość wykonuje się bardzo wolno.

Chciałbym zapytać, z czego korzystać, by móc przyspieszyć wykonywanie całości.

1. Do łączenia z bazą wykorzystuję mysql. Zapytanie służy tylko do tego, by pozyskać rekordy z bazy, a następnie je usunąć. Czy jeśli wykorzystam mysqli to znacząco te operacje na bazie przyspieszą? Rozumiem, że mysql jest stare i nie powinno się go używać, jednak skrypt został napisany lata temu, gdy nie było jeszcze mysqli dlatego czy warto jest mi go przepisywać? Podkreślam, że nie zależy mi na bezpieczeństwie etc. Tylko i wyłącznie szybkość wykonywania.
Do pozyskania tych danych w pętli używam:

  1. $sql = mysql_query("SELECT * FROM test");
  2. while($wynikb = mysql_fetch_assoc($sql))
  3. {}


Czy mysql_fetch_assoc jest dobrze wydajne? Czy skorzystać z innej funkcji, jak mysql_fetch_row czy w ogóle rzeczywiście skorzystać z mysqli?

2. Do sprawdzenia, czy istnieje konkretny ciąg znaków wykorzystuję preg_match. Czy przy użyciu innej funkcji, jak np. strstr czy strpos proces sprawdzenia danych będzie szybszy?

3. Wykonuję też dzielenie po znaku spacji:
  1. explode(" ", $nazwa);


Czy istnieje inna funkcja, która podzieli mi tak dane i przedstawi w formie tablicy, która jednocześnie będzie szybsza niż explode?

4. Wykorzystuję preg_match_all do wyrażeń regularnych, np.:
  1. preg_match_all('/test\/(.*?) test2 (.*?)$/', $test1, $test2);


Czy jest inna funkcja, która będzie działać podobnie, ale szybciej?



Podkreślam jeszcze raz, że chodzi tylko i wyłącznie o prędkość wykonywania tych operacji, czyli jednocześnie o zmniejszenie zużycia procesora itd. Kwestie bezpieczeństwa, większych możliwości itd. nie są istotne.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:22