Това което си посочил е работа на оптимизатора, т.е. той преценява че вече няма нужда да сортира result set-а в този частен случай. В случая обаче order by клаузата реално се пропуска, т.е. все едно имаш същото куери без order by
Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
пропускаш факта, че индексите се създават не за да заемат дисково пространство, ами за да ускоряват точно определени (групи от) заявки - и ако имаш заявка с много сортиране то определено ще имаш и съответния индекс, който да го елиминира
частен случай би било да нямаш индекс и да караш базата да сортира като хамалин
Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
Даже повече. Фирми бол. Последните 4 години не съм ходил на нито едно, though. Но като мид ходех периодично да си вдигна заплатата. Стана досадно като някъде взеха да ми се заяждат, че съм бил джоб хопър.
пропускаш факта, че индексите се създават не за да заемат дисково пространство, ами за да ускоряват точно определени (групи от) заявки - и ако имаш заявка с много сортиране то определено ще имаш и съответния индекс, който да го елиминира
частен случай би било да нямаш индекс и да караш базата да сортира като хамалин
Чеки чеки малко, индекса оптимизира селекта на данни, и както видяхме в твоя пример, не се прави сортиране ако сортирането съвпада с предварителния селект. Обаче това е частен случай, в голямата част от случаите когато сортирането е по полета или по изрази които не съвпадат с индексите тогава индекса подпомага издърпването на данни, което е част от сортирането, но няма как да го елиминира.
Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
Даже повече. Фирми бол. Последните 4 години не съм ходил на нито едно, though. Но като мид ходех периодично да си вдигна заплатата. Стана досадно като някъде взеха да ми се заяждат, че съм бил джоб хопър.
Аз съм ходил само на 1 :Д Но нещо ми почва да ми писва вече, да еба и короната. Ако я нямаше да съм си бил камшика вече/
Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
Даже повече. Фирми бол. Последните 4 години не съм ходил на нито едно, though. Но като мид ходех периодично да си вдигна заплатата. Стана досадно като някъде взеха да ми се заяждат, че съм бил джоб хопър.
Аз съм ходил само на 1 :Д Но нещо ми почва да ми писва вече, да еба и короната. Ако я нямаше да съм си бил камшика вече/
И си се вдигнал от жунка до сеньор/лийд/аркитект в тази фирма и заплатата десетократно? Коя е тази фирма, ще дойда при вас? Единствените такива фирми, за които знам са SAP и VMWare. Немат точкамрежа... не ми се минава на джава, но пък може да мина на питон някой ден, ба ли го. Аз не обичам да се пазаря. Отивам кротко и питам за увеличение. Ако ми откажат си пускам сивито и си търся късмета. Като си подам предизвестие обикновено идват да се пазарят, но вече е късно либе за китка. Индоктринираха ме протестантски народи, там цената винаги е финална, няма пазарлък.
Да не си фрилансър фен на корейското? Ако да, май те познавам.
първо select-a прави временен result set, после order by го сортира
Да бе, да. Сега остава да кажеш, че го прави в RAM-а и там го сортира. Естествено, че не работят така базите данни.
Ами сортирането се прави в РАМ-а, просто защото е по-бързо. Сега не се хващай за идеята че се зарежда целия result set, според големината и според доста други неща може и да се зарежда на части.
Ако имаш memory-optimized table или съответния еквивалент - те се обработват само в RAM-а и се прави копие на диска/сториджа.
Като цяло процеса е доста сложен и зависи от различните сървъри, то това е проблема че обикновено за да достигаш висок пърформанс и въобще да изтискаш ресурсите се иска тясна специализация
Да не си фрилансър фен на корейското? Ако да, май те познавам.
Не
|
Създадено на 30.09.2020, видяно: 2132 пъти. #13269
Кое според вас е по- удачно за сортиране на арей? Heap Sort или Quick/Merge Sort? Да речем, че ако правя хийпсорт на арей, то ще трябва да създам подареи, които харчат доста време. Отбелязвам, не говоря за линкд лист.
Това са простотии, с които се занимавам в свободното си време, за да не забравям алгоритми.
Мисля, че консенсуса е, че quicksort е най-бърз в общия случай. Иначе по-интересен въпрос според мен е дали масива ТРЯБВА да е сортиран или така е по-лесно. :)
Rabin
Създадено на 30.09.2020, видяно: 2125 пъти. #13270
Сичките да ми едете тура, съборили сте ми темата за комунизма.
Пък теми за кози цяла дузина.
Макя ви да е жива и здрава!
Мисля, че консенсуса е, че quicksort е най-бърз в общия случай. Иначе по-интересен въпрос според мен е дали масива ТРЯБВА да е сортиран или така е по-лесно. :)
Мисловно упражнение Винаги има или. Ако конкатенирам до 3 пъти стринг, да вдигна стринг билдер било по- скъпо, но ако конкатенирам повече било по- евтино (не съм го проверявал, така ми е останало).
Добре, а драйвери чели ли сте и писали ли сте? Имам някакъв спомен, че хийпсорта имал приложение във файловата система, бил не знам си какво. Макар, че не загрях защо така, нали е дърво всъщност файловата система за мен, но на диск/флаш как е, може и да не е.
Сичките да ми едете тура, съборили сте ми темата за комунизма.
Пък теми за кози цяла дузина.
Макя ви да е жива и здрава!
А бе стига мрънка. При някой от ъпдейтите съм качил погрешка версията с ограниченията. Ще го оправя, като се освободя. Няма да изчезне златната ти тема.
Кажи нещо за сортирането.
code2
Създадено на 30.09.2020, видяно: 2097 пъти. #13276
Гега, и в моя пост и след това, става въпрос, че SQL-ското "order by" не сортира масиви с класическите алгоритми за сортиране. Просто извлича данните в правилният ред, според някакъв индекс. Реално никъде нямаш масив и после сортиране.
Даже и в случай, че няма подходящ индекс - "order by" първо прави временен индекс и след това извлича данните в нужният ред.
Съставянето на временен индекс си е точно вид сортиране. Няма как да го направиш без алгоритъм за сортиране! Това с двоичното търсене и вместване си е точно вид алгоритъм за сортиране при това далеч от най-оптималните. Просто нямаме копиране на целите обекти, което е техническо облекчение, а не е алгоритмично подобрение.
Евлампи
Създадено на 30.09.2020, видяно: 2090 пъти. #13277