![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może to nie najodpowiedniejsze miejsce, ale liczę na to, że tu same fachury siedzą (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Pytanko - jak wpływa długość zapytania SQL-owego na szybkość interpretacji i czy wogóle zbyt długie zapytanie ma negatywny wpływ na transakcje. Np Robię SELECT-a, który ma postać SELECT * FROM users WHERE (id=2 or id=4 or ..... or id = 100 or id = 102) and email like '%@php.pl; Wyciągam co drugiego dodatkowo zawężając do grupy tylko z domeny php.pl i mam zapytanie na kilka linijek. Testowałem to w praktyce i jest dobrze przy ilości idków kilkadziesiąt, czy kilkaset. Tak teoretycznie - jak wpływa na silnik bazy długość zapytania. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
To co mnie martwi to, to że
1. może istnieć jakieś ograniczenie co do długości zapytania - i w którymś momencie DBMS powie "ja tak nie mogę" 2. czy to nie afektuje na wydajność - generalnie zapytanie powinnowyglądać następująco:
Wybieram wszystkie id userów z bazy mail, które między maje, a czerwcem i potem profile userów. Do tego dochodzi potem filtr np mail like 'xxxx'. Wszystko jest jak najbardziej czytelne itd, ale... Ja ze względu na czytelność skryptu mam dwie funkcje - jedna pobiera id ki SELECT user_id FROM mail WHERE date > 20060500 and date < 20060600) - druga wyświetla i/lub filtruje wyniki pierwszej |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 18:19 |