[C] 배열 크기 순으로 정렬하기
·
언어/C
#define _CRT_SECURE_NO_WARNINGS #include #include int compare(const void* a, const void* b) { return strcmp((char*)a, (char*)b); } int main() { int arr[5] = { 2, 5, 3, 6, 11 }; qsort(arr, 5, sizeof(arr[0]), compare); for (int i = 0; i < 5; i++) printf("%d\n", arr[i]); } 순서를 정해주는 compare 함수를 지정한 뒤 qsort를 사용해서 크기 순으로 정렬해주면 된다. 배열을 역순으로 정렬하고 싶다면 int compare(const void* a, const void* b) { return st..
[데이터베이스] 정렬(Sort/Sorting) 줄이기
·
공부/데이터베이스
정렬은 데이터베이스에서 많은 부하를 일으킨다. 데이터베이스를 사용하는 대부분의 경우 데이터의 양이 매우매우 많기 때문에 그 데이터를 정렬하기는 부담이다. 가용 메모리로 데이터를 커버할 수 없는 경우 디스크까지 찾아가야 한다. 하지만 우리가 인덱스를 적절하게 잘 사용한다면 데이터베이스에서도 불필요한 Sort를 하지 않게된다. 1️⃣ Merge Join Sort 원인 : Merge Join은 알고리즘 특성상 Merge 전 Sort를 한다. 사용할 때 유의해야 한다. ✅ 애초에 정렬된 인덱스인 Clustered Index를 사용하면 Sort 없이 조인을 할 수 있다. 2️⃣ ORDER BY 사용자가 원하는 순서로 정렬을 하기 위해 Sort가 사용된다. ✅ 테이블에 있는 인덱스 순서로 정렬을 한다면 불필요한 S..