![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam baze danych z produktami w ktorej znajduje sie pole `id`. Problem w tym ze z tej bazy korzysta pare stron i kazda z nich wyglada tak samo przez ta kolumne. Musze zrobic tak zeby kazdy z adresow przy tym samym zapytaniu select mial produkty w nieco innej kolejnosci. Danych jest za duzo zeby je losowac, skrypt nie daje rady z czasem wykonania. Wymyslilem ze do kazdego adresu dodam kolumne `id_domena` i wkleje tam losowe wartosci, ale nagle mam do wykonania pare tysiecy update i znow skrypt nie wyrabia sie, za duzo polecen sql. Pytanie wiec jak to zoptymalizowac ? Nie da sie zrobic jednego zbiorowego update, wiec jak wstawic tam losowa liczbe, najlepiej unikalna ?
-------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
pewnie losowanie robisz tak:
..order by rand() nic dziwnego ze baza nie wyrabia. Przeszukaj net, bo masz tam napisane jak sie losuje dane w bazie by baza ta sie wyrabiala. Artykuly są nawet po polsku -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie, chodzi mi o to ze chce losowe id wpisac do bazy zeby tylko raz sie losowaly. Zrobiłem tak: `id_domena`= rand()*10000 wtedy tworzy mi sie losowy id od 1 do 9999 (nie unikalny ale do order by nadaje sie). Jesli mialby ktos lepszy pomysl bede wdzieczny.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:18 |