2024/07/20 2

[MySQL] count(*) 과 count(distinct)

많은 사람들이 select * 보다 select count(*) 이 더 빠를 것으로 생각합니다. 🤨그런데, 일반적으로 둘의 성능이 비슷하게 측정되는 경우가 훨씬 많다고 합니다.왜냐하면, 서비스 구현 요건상 select * 쿼리는 limit 조건이 있기 때문입니다.반면에 select count(*) 쿼리는 limit 조건 없이 실행되는것이 일반적 입니다…! 그리고 요즘 orm을 대부분 사용하는데, orm을 사용하다보면 단순히 레코드 건수를 확인하는 쿼리를 작성했을뿐인데,부하가 훨씬 높은 select count(distinct(id)) 같은 쿼리를 실행하는 경우가 있습니다. select count(*)과 select * 성능아래의 쿼리의 경우에는 2개의 쿼리는 동일한 성능을 내게 됩니다.select cou..

[MySQL] VARCHAR vs TEXT

이번에는 VARCHAR 와 TEXT에 대해서 알아봅시다! 🙌 공통점문자열 속성 값을 저장최대 65,535 bytes 까지 저장 가능 차이점VARHCAR 타입 컬럼에는 지정된 글자 수 만큼만 데이터 저장 가능VARCHAR(100) → 100글자 이하만 저장 가능TEXT 타입 컬럼은 인덱스 생성 시 반드시 Prefix 길이 지정 필요CREATE INDEX ix_text_column ON table (text_column(100));TEXT 타입 컬럼은 표현식으로만 디폴트 값 지정 가능CREATE TABLE tb1 (col TEXT DEFAULE ‘abc’) → 에러 발생CREATE TABLE tb1 (col1 TEXT DEFAULT (’abc’)) → 생성 가능 일반적인 사용 형태길이가 짧으면 VARCHA..