Agape
28.09.2015, 14:36:10
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 ?
nospor
28.09.2015, 14:40:18
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
Agape
28.09.2015, 15:59:27
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.