MySQL4 MySQL Boolean 컬럼의 진실과 주의점 개요 MySQL에서 Boolean 컬럼 타입을 사용해서 테이블을 생성하게되면 내부적으로는 TINYINT(1) 값으로 생성되는 것을 볼 수 있다. 이렇게 생성된 테이블을 조회하기 위해서는 TRUE/FALSE 또는 1/0의 값을 사용할 수 있다. 사용방법 1. 테이블 생성 아래와 같이 테이블을 생성해보자 CREATE TABLE employee ( id INT(10) AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(50), enabled BOOL ); 위와 같이 테이블을 생성해도 실제로 DDL을 보면 TINYINT(1)으로 생성된 것을 볼 수 있다. 내부적으로는 Boolean 타입 자체가 없기때문이다. mysql> SHOW CREATE TABLE employee CREATE TABLE.. 2023. 8. 7. MySQL 파티션을 왜 사용하는가?! 파티션이란? 데이터를 물리적으로 분할하여 쿼리 성능과 데이터 관리 및 유지보수 작업을 용이하게 하기 위해서이다. 데이터베이스 서버의 입장에서는 데이터를 별도의 테이블로 분리해서 저장하지만 사용자 입장에서는 여전히 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 효과를 가질 수 있다. 인덱스에 용이 테이블의 크기가 커질수록 인덱스의 크기도 같이 커지기 때문에 읽기/쓰기에 대한 IO에 같이 늘어난다. 이렇게 커짐으로써 인덱스에 처리되는 시간이 늘어나고 인덱스가 물리적인 메모리보다 커지는 경우도 발생한다. 파티션을 분할하면 이런 효과를 가져온다고 말할 수 있다. 파티션을 어떻게 나눌 수 있는가? 우선 방법론에 대해 알아보고 실험을 해보자. RANGE Partitioning (범위 분할) RANGE 분할은 주.. 2023. 7. 19. MySQL의 VARCHAR(1000) vs TEXT의 차이점은 무엇일까? 왜 VARCHAR(500), VARCHAR(1000) 등 이런식으로 사용하는걸까? TEXT로 데이터형으로 저장하면 되지. 왜 굳이 VARCHAR(500) 이런식으로 사용하는지가 의문일 것이다. 그럼 서두는 제쳐두고 간단하게 설명부터 하도록 하겠다. 제약사항 VARHCAR는 공간적으로 제약이 있다. VARCHAR는 테이블에 하나의 레코드가 저장할 수 있는 최대 길이가 65,535 바이트이다. 그렇다보니 레코드 사이즈 한계에 따라서 최대 저장 길이 설정시 공간을 아껴 쓸 필요가 있다. 하지만 이에 비해 BLOB, TEXT 같은 타입은 제약이 없다. BLOB, TEXT과 같은 LOB (Large Object)는 B-Tree 외부의 Off-Page 페이지에 저장을 한다. LOB 타입의 컬럼을 항상 Off-Pag.. 2023. 7. 7. Hadoop - Hive (하이브) 설치 MySQL 설치 1. MySQL 패키지 설치 hadoop@hadoop-001:~$ sudo apt-get update ... * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 84 updates can be applied immediately. hadoop@hadoop-001:~$ sudo apt-get install mysql-server -y ... Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service. mysql-server (8.0.27-0ubuntu0... 2021. 12. 24. 이전 1 다음 728x90 반응형