Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ SQL ] Długość zapytania
mkozak
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mkozak
post
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:
  1. SELECT * FROM users WHERE id IN (SELECT user_id FROM mail WHERE date > 20060500 AND date < 20060600);


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
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 18:19