Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.09.2008 Ostrzeżenie: (0%)
|
Witam,
Chcialbym troche zoptymalizowac swoje zapytania i dla tabeli "Firm" z ktorej wyniki zawsze bede zwracal wedlug wskaznika "priorytet", zamiast dodawac ORDER BY do kazdego query mozna nalozyc takie sortowanie domyslnie na poziomie tabeli. Niestety nie dziala to u mnie. Domyslne sortowanie ustawiam wg priorytetu malejaco, wiec wykonuje takie polecenie:
Sotrowanie nie dziala, oczywiscie jesli dodam order by w zapytaniu, wszystko jest opoprawnie:
Wersja bazy: 5.1.37 Windows Tabela typu: InnoDB Mial ktos podobny problem? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%)
|
Cytat ORDER BY does not make sense for InnoDB tables that contain a user-defined clustered index (PRIMARY KEY or NOT NULL UNIQUE index). InnoDB always orders table rows according to such an index if one is present. http://dev.mysql.com/doc/refman/5.1/en/alter-table.html Ten post edytował skowron-line 10.12.2011, 12:12:17 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.09.2008 Ostrzeżenie: (0%)
|
Czyli daje sobie z tym spokoj w tym wypadku...
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%)
|
Jeżeli po przeczytaniu tego co wkleiłem stwierdziłeś że tak masz, to to będzie chyba najlepsze rozwiązanie.
Swoją drogą dlaczego nie możesz użyć order -a (IMG:style_emoticons/default/questionmark.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.09.2008 Ostrzeżenie: (0%)
|
Swoją drogą dlaczego nie możesz użyć order -a (IMG:style_emoticons/default/questionmark.gif) W tabeli tej mam ponad 4 mln rekordow, wiec tocze walke o ocalenie kazdej dziesiatnej sekundy wykonywanego na niej selecta, a podobno ORDER BY na tabeli jest szybszy niz wysylany razem z query. |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 06:13 |