Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] optymalizacja zapytania
lenczewski
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 1
Dołączył: 31.08.2005

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


witam mam taką tabelę
  1. CREATE TABLE `urls` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `user` varchar(222) NOT NULL DEFAULT '',
  4. `data` date NOT NULL DEFAULT '0000-00-00',
  5. UNIQUE KEY `id` (`id`)
  6. ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;

chciałbym pogrupować to w takiej formie:
Kod
data1
  user1
  user2
  user1
data2
  user4
  user1

W jaknajmniejszej ilości zapytań do bazy. W tej chwili mam poprostu najpierw zapytanie ze zgrupowanymi datami, następnie w pętli pobieram uzytkowników. da się to przyspieszyć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


  1. UNIQUE KEY `id` (`id`)

ID powinno byc PRIMARY KEY, no chyba ze tutaj oznacza cos innego.

podstawy:
  1. SELECT DATA, user FROM urls ORDER BY DATA ASC, user ASC
Go to the top of the page
+Quote Post
bendi
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Cytat(dr_bonzo @ 24.05.2006, 20:43 ) *
  1. UNIQUE KEY `id` (`id`)

ID powinno byc PRIMARY KEY, no chyba ze tutaj oznacza cos innego.

Mała uwaga UNIQUE KEY i PRIMARY KEY różnią się tylko tym, że dopuszcza możliwość wystąpienia NULL'a jako wartości. Natomiast przypadku tabeli lenczewskiego akurat kolumna id ma ustawione NOT NULL, więc działanie będzie identyczne, jeszcze tylko by się przydało ustawić UNSIGNED coby rozszerzyć zakres a jednocześnie uniemożliwić wstawienie liczby ujemnej.
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: 10.10.2025 - 16:27