Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Optymalizacja MySQL (SELECT)
servs
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Witam,

Od jakiegoś czasu zacząłem się interesować optymalizacją pracy MySQL i uparłem się, żeby uniknąć "rżnięcia" bazy przez takie polecenie

  1. $sql = mysql_query("SELECT `name` FROM tabela WHERE title = 'era'");
  2.  
  3. while($m = mysql_fetch_array($sql)){
  4. echo $m['name'];
  5. }

Co prawda jak mamy tabelę o sile 10 000, to jeszcze jest ok. Ale jak ilość rekordów przekracza 1 000 000, to już robi się problem.
Jest jakiś sposób optymalizacji takich instrukcji dla odciążenia MySQL?

Pozdrawiam.

Ten post edytował servs 23.10.2011, 17:20:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
konrados
post
Post #2





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


No inaczej się nie da.

Możesz jeszcze dodać do zapytania limit - by nie było tak, że user wpisze sobie 'e' i znajdzie miliony rekordów.

Update: jest jeszcze takie coś jak sql caching - poszukaj w google, ja się tym nigdy nie interesowałem.

Update2:
Cytat
Ale, czy IN nie dotyczy TYLKO kolumn INT?


W tym przypadku tak. Normalnie jednak możesz używać jakiegokolwiek typu.

Ten post edytował konrados 23.10.2011, 17:26:37
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: 7.10.2025 - 19:55