![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam taki problemik: Jest sobie tabela, w której trzymane są kartoteki magazynowe stan: id_towaru int(11) NOT NULL id_magazynu int(11) NOT NULL id_stanu int(11) NOT NULL PRIMARY KEY data datetime NOT NULL ilosc double(15,4) NOT NULL jedn int(20) NOT NULL dest mediumint(9) NULL Budowanie poszczególnych kartotek jest proste:
określenie stanu na dany dzień dla kartoteki też jest proste:
Problem zaczyna się gdy chcę wyświetlić stan całego magazynu na żądany dzień. Proste pytanie wyświetla bzdury:
Częściowo rozwiązałem to następująco:
Jest to wyjątkowo kiepskie rozwiązanie... Po pierwsze jego czas jego wykonania jest nie do przyjęcia, a po drugie nie uwzględnia drugiego elementu sortowania (w przypadku tej samej wartości datetime sortuję malejąco po id_stanu). Będę wdzięczny za wszystkie pomysły i sugestie. Piotrek |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o rozwiązanie to proponuję:
oraz
Ten indeks wygląda groźnie, ale jest konsekwencją takiej a nie innej struktury danych. Nie wiem jaki czas wykonania zapytania byłby akceptowalny, ale nie sądze by przy tym rozmiarze bazy przekraczał 1s, poza tym pole do optymalizacji jest niewielkie, raczej ciężko będzie znaleźć coś, co da poprawne wyniki w zauważalnie krótszym czasie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 06:53 |