분류 전체보기123 [SQL] tinyint 타입에 대한 인덱싱 작업 인덱싱 작업이란? 보통 사전 처럼 정리가 필요한 걸 나중에 찾기 위해 미리 준비하는 작업이라고 보는데 tinyint 값인 경우 boolean이라 0 혹은 1 으로만 보통 이루어져 있어서 인덱싱 작업이 필요없다고 생각했습니다. 근데 데이터가 많아지고 확인할 부분이 많아지면서, 인덱싱 작업을 한번 해봤는데 속도 차이가 확실히 보였습니다. 확인해보니 자주 조회가 되는 필드면 tinyint여도 인덱싱 작업이 필요하다고 합니다. 해당 필드로 where 절 / join / order 절 등 엄청나게 많이 사용되는 경우라면 인덱싱 작업을 통해서 속도를 좀 더 개선 할 수 있습니다. 대신, 값의 분포가 적거나 필드 업데이트가 많다면 피하는게 맞다고 봅니다. 2024. 9. 26. [SQL] WITH 쿼리 DB 데이터에서 중복된 값들 을 group by 시켜서 가져와 그 중 desc를 쓰고 싶었으나... group by 를 하게되면 항상 asc 형태를 가져와 원하는 값을 못사용 하는 경우가 있었습니다. 그래서 방법을 찾아보니 WITH 함수가 있다고 하더라구여!! WITH 문법은 SQL에서 공통 테이블 표현식(CTE, Common Table Expression)을 정의하는데 사용됩니다. 이를 통해 복잡한 쿼리나 서브쿼리를 보다 간단하게 작성하고, 반복적으로 사용해야 하는 쿼리 부분을 재사용할 수 있습니다.WITH new_data AS ( SELECT column1, column2 FROM table WHERE conditions)SELECT column1, column2FROM new_dat.. 2024. 9. 9. [AWS] Redis 와 DynamoDB 비교 (순수 의견) [Redis / DynamoDB 비교]특징RedisDynamoDB확장성수동 설정 필요자동 확장설정 및 관리복잡함간단함일관성애매일관성능매우 빠름 (인메모리)빠름 (디스크)비용메모리 기반사용량 기반 Redis와 DynamoDB를 두개 다 사용하고 있는 점에서 두가지를 비교했을때 표와 같이 나타낼 수 있습니다. 처음에는 Redis만 사용을 했는데 사실 메모리 기반이라 정해진 틀에서 써보고 늘리냐 줄이냐 이런식으로 진행하는 경우가 큽니다. 물론, 트래픽이 늘어나면서 redis 사용이 많아지는 경우에는 어느 정도 커버를 할 수 있다고는 하지만 매일 그렇게 발생하는게 아니면 정해진 메모리 안에서 사용하는게 득일 수도 독이 될 수도 있다고 봅니다. 반면, DynamoDB를 사용하는 경우에는 알아서 사용량에 따라 비용.. 2024. 8. 6. [JS] await 과 promise 현재까지 await 과 promise를 둘 다 사용해봤을때,다양한걸 사용할때는 속도 측면으로 promise 가 더 빠르다고 느꼈습니다. 여러개의 create/update/delete같은 작업을 진행할때, 각각의 진행값이 이루어져야하는필수 순서가 있다면 await을 쓰는게 맞지만, 순서없이 값을 변경하는 이유라면 promise가 최적의 속도를 냅니다. promise 안에서는 여러개의 작업이 동시에 진행되지만, 먼저 빨리 끝나는대로 정리가 되기에 순서랑 상관없게 됩니다. const task1 = new Promise((resolve, reject) => { setTimeout(() => { console.log("Task 1 completed"); resolve("Task 1 result"); .. 2024. 7. 26. [JS] for와 관련된 문법 [for와 관련된 문법] 1. for2. for...in3. for...of4. forEach [for 각각의 정보] 문법설명장점단점for초기화, 조건검사, 증감식으로 구성된 기본 반목문- 높은 유연성 및 제어가능- 조건에 따라 루프를 중단(break)하거나 건너뛸 수 있음(continue)- 코드가 길어질 수 있음- 가독성이 떨어질 수 있음for...in객체의 열거 간으한 속성(Key)을 반복- 객체의 속성을 순회하기에 유용- 간결한 문법- 배열 순회에 적합하지 않음- 객체의 프로토타입 체인에 있는 속성까지 순회할 수 있음for...of이터러블 객체(Array, Map, Set, String 등)을 순회- 이터러블 객체 순회에 적합- 간결한 문법- break, continue, return 사용가능- .. 2024. 7. 8. [Node] Dynamo DB 사용법 Dynamo DB 코드 사용법 [설치] npm i @aws-sdk/client-dynamodbnpm i @aws-sdk/lib-dynamodb [코드]const { DynamoDBClient } = require('@aws-sdk/client-dynamodb');const { DynamoDBDocumentClient, PutCommand, QueryCommand, GetCommand, DeleteCommand,} = require('@aws-sdk/lib-dynamodb');const client = new DynamoDBClient({ region: '사용하는 지역', credentials: { accessKeyId: process.env.DYNAMODB_ACCESS_KEY, s.. 2024. 6. 20. 이전 1 2 3 4 5 ··· 21 다음