Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] Dwa indexy na jednym polu (ASC oraz DESC)
Sajrox
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

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


Witam,

Ostatnio mam problem z pewnym serwisem o dużej ilości krotek w bazie. Dużo czasu zajmuje sortowanie wyników według nazw.
I tutaj postanowiłem założyć 2 indexy na pole "nazwa" sortując je jako ASC oraz DESC.
Kod SQL:
  1. CREATE TABLE IF NOT EXISTS `produkty` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(200) NOT NULL,
  4. `cena_min` decimal(10,2) UNSIGNED NOT NULL DEFAULT '0.00',
  5. `cena_max` decimal(10,2) NOT NULL DEFAULT '0.00',
  6. `wszystkich_ofert` smallint(5) UNSIGNED NOT NULL DEFAULT '1',
  7. `data_dodania` datetime NOT NULL,
  8. PRIMARY KEY (`id`),
  9. KEY `nazwa asc` (`nazwa`) USING BTREE,
  10. KEY `nazwa desc` (`nazwa`) USING BTREE,
  11. KEY `oferty asc` (`wszystkich_ofert`),
  12. KEY `oferty desc` (`wszystkich_ofert`),
  13. KEY `cena asc` (`cena_min`),
  14. KEY `cena desc` (`cena_min`)
  15. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


Czy takie rozwiązanie jest dobre zakładanie 2 indexów na to samo pole ? I czy w ogóle to ma jakiś sens ?
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 Aktualny czas: 20.08.2025 - 15:13