Индексите по отношение на сортирането не играя никаква роля.
Напротив - индексите са най-важното нещо, ако не искаш да сортираш.
Индексите по отношение на сортирането не играя никаква роля.
Напротив - индексите са най-важното нещо, ако не искаш да сортираш.
ФейкПрофил Golden Gega ФейкПрофил Golden Gega johnfound Golden Gega order by
Все пак пишем ламерски софтуер - бизнес системи основно, и ползваме, Боже опази!, релационни бази данни.
Всъщност,
order by
не е сортиране в класическият вид. То реално именно това се получава в реалните проекти - данните по-скоро се събират в готов за употреба правилен ред и просто не възниква нужда да се сортират.В края на краищата, данните в масива все отнякъде следва да са се взели. Обикновено елемент след елемент се натрупват в него. Ако толкова трябва тези елементи да са сортирани, то обикновено е по-изгодно да се организира двоично търсене на всеки постъпващ елемент и директно да се изгради и индекс на данните в нужният ни ред.
ставаше дума за SQL-ското order by
OrderBy може да сортира, аможе и да не сортира. Зависи от това какви индекси имаш.
Това е супер интересно, я ми дай един пример дето имаш order by пък то не сортира по него
Нарича се pipelined order by: https://use-the-index-luke.com/sql/sorting-grouping/indexed-order-by
За рамбо, който не чете английски - общо взето обхождаш редовете в index order, като те там са вече сортирани - демек ходиш по един linked list.
Това което си посочил е работа на оптимизатора, т.е. той преценява че вече няма нужда да сортира result set-а в този частен случай. В случая обаче order by клаузата реално се пропуска, т.е. все едно имаш същото куери без order by
Унуфри Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
пропускаш факта, че индексите се създават не за да заемат дисково пространство, ами за да ускоряват точно определени (групи от) заявки - и ако имаш заявка с много сортиране то определено ще имаш и съответния индекс, който да го елиминира
частен случай би било да нямаш индекс и да караш базата да сортира като хамалин
Courvoisier Унуфри Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
ФейкПрофил Courvoisier Унуфри Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
Даже повече. Фирми бол. Последните 4 години не съм ходил на нито едно, though. Но като мид ходех периодично да си вдигна заплатата. Стана досадно като някъде взеха да ми се заяждат, че съм бил джоб хопър.
ФейкПрофил пропускаш факта, че индексите се създават не за да заемат дисково пространство, ами за да ускоряват точно определени (групи от) заявки - и ако имаш заявка с много сортиране то определено ще имаш и съответния индекс, който да го елиминира
частен случай би било да нямаш индекс и да караш базата да сортира като хамалин
Чеки чеки малко, индекса оптимизира селекта на данни, и както видяхме в твоя пример, не се прави сортиране ако сортирането съвпада с предварителния селект. Обаче това е частен случай, в голямата част от случаите когато сортирането е по полета или по изрази които не съвпадат с индексите тогава индекса подпомага издърпването на данни, което е част от сортирането, но няма как да го елиминира.
Courvoisier ФейкПрофил Courvoisier Унуфри Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
Даже повече. Фирми бол. Последните 4 години не съм ходил на нито едно, though. Но като мид ходех периодично да си вдигна заплатата. Стана досадно като някъде взеха да ми се заяждат, че съм бил джоб хопър.
Аз съм ходил само на 1 :Д Но нещо ми почва да ми писва вече, да еба и короната. Ако я нямаше да съм си бил камшика вече/
ФейкПрофил Courvoisier ФейкПрофил Courvoisier Унуфри Само в нашият форум order by може да не сортира. Иначе в. нетя е възможно ако нямаш comparer. Верно сте безработни на заплата. За интервю ли да помним алгоритми за сортиране? Щото на нито едно не съм виждал да дават, ни я съм давал.
Толкова ли не са те питали некви жунки? Може би 2-3 пъти са ме питали по интервюта, от около 100, не е много. Но жунките питат.
на 100 интервюта ли си ходил ?
Даже повече. Фирми бол. Последните 4 години не съм ходил на нито едно, though. Но като мид ходех периодично да си вдигна заплатата. Стана досадно като някъде взеха да ми се заяждат, че съм бил джоб хопър.
Аз съм ходил само на 1 :Д Но нещо ми почва да ми писва вече, да еба и короната. Ако я нямаше да съм си бил камшика вече/
И си се вдигнал от жунка до сеньор/лийд/аркитект в тази фирма и заплатата десетократно? Коя е тази фирма, ще дойда при вас? Единствените такива фирми, за които знам са SAP и VMWare. Немат точкамрежа... не ми се минава на джава, но пък може да мина на питон някой ден, ба ли го. Аз не обичам да се пазаря. Отивам кротко и питам за увеличение. Ако ми откажат си пускам сивито и си търся късмета. Като си подам предизвестие обикновено идват да се пазарят, но вече е късно либе за китка. Индоктринираха ме протестантски народи, там цената винаги е финална, няма пазарлък.
Да не си фрилансър фен на корейското? Ако да, май те познавам.
johnfound Golden Gega първо select-a прави временен result set, после order by го сортира
Да бе, да. Сега остава да кажеш, че го прави в RAM-а и там го сортира. Естествено, че не работят така базите данни.
Ами сортирането се прави в РАМ-а, просто защото е по-бързо. Сега не се хващай за идеята че се зарежда целия result set, според големината и според доста други неща може и да се зарежда на части. Ако имаш memory-optimized table или съответния еквивалент - те се обработват само в RAM-а и се прави копие на диска/сториджа. Като цяло процеса е доста сложен и зависи от различните сървъри, то това е проблема че обикновено за да достигаш висок пърформанс и въобще да изтискаш ресурсите се иска тясна специализация
ORM-а много дава, много взема. Допреди 3 години въобще не ми пукаше за SQL и съм имал и дейтабейс девове... ама на, налага ми се вече.
Да не си фрилансър фен на корейското? Ако да, май те познавам.
Не
Courvoisier Кое според вас е по- удачно за сортиране на арей? Heap Sort или Quick/Merge Sort? Да речем, че ако правя хийпсорт на арей, то ще трябва да създам подареи, които харчат доста време. Отбелязвам, не говоря за линкд лист.
Това са простотии, с които се занимавам в свободното си време, за да не забравям алгоритми.
Мисля, че консенсуса е, че quicksort е най-бърз в общия случай. Иначе по-интересен въпрос според мен е дали масива ТРЯБВА да е сортиран или така е по-лесно. :)
Сичките да ми едете тура, съборили сте ми темата за комунизма.
Пък теми за кози цяла дузина. Макя ви да е жива и здрава!
| Мисля, че консенсуса е, че quicksort е най-бърз в общия случай. Иначе по-интересен въпрос според мен е дали масива ТРЯБВА да е сортиран или така е по-лесно. :)
Мисловно упражнение Винаги има или. Ако конкатенирам до 3 пъти стринг, да вдигна стринг билдер било по- скъпо, но ако конкатенирам повече било по- евтино (не съм го проверявал, така ми е останало).
Rabin Сичките да ми едете тура, съборили сте ми темата за комунизма.
Пък теми за кози цяла дузина. Макя ви да е жива и здрава!
Може да си напишеш кур спокойно, няма цензура. Ето, пиша КУР и бегам към магазина.
Добре, а драйвери чели ли сте и писали ли сте? Имам някакъв спомен, че хийпсорта имал приложение във файловата система, бил не знам си какво. Макар, че не загрях защо така, нали е дърво всъщност файловата система за мен, но на диск/флаш как е, може и да не е.
Rabin Сичките да ми едете тура, съборили сте ми темата за комунизма.
Пък теми за кози цяла дузина. Макя ви да е жива и здрава!
А бе стига мрънка. При някой от ъпдейтите съм качил погрешка версията с ограниченията. Ще го оправя, като се освободя. Няма да изчезне златната ти тема.
Кажи нещо за сортирането.
johnfound Гега, и в моя пост и след това, става въпрос, че SQL-ското "order by" не сортира масиви с класическите алгоритми за сортиране. Просто извлича данните в правилният ред, според някакъв индекс. Реално никъде нямаш масив и после сортиране.
Даже и в случай, че няма подходящ индекс - "order by" първо прави временен индекс и след това извлича данните в нужният ред.
Съставянето на временен индекс си е точно вид сортиране. Няма как да го направиш без алгоритъм за сортиране! Това с двоичното търсене и вместване си е точно вид алгоритъм за сортиране при това далеч от най-оптималните. Просто нямаме копиране на целите обекти, което е техническо облекчение, а не е алгоритмично подобрение.