# 240424 대용량 데이터 넣기 ## sql 테이블 생성 ```SQL CREATE TABLE User ( id INT AUTO_INCREMENT PRIMARY KEY, user_rank TINYINT NOT NULL, money INT NOT NULL, name VARCHAR(50) NOT NULL, start_date DATE NOT NULL, last_login DATETIME ); ``` ## 데이터 삽입 - CSV 파일로 300백만개의 데이터를 저장 - CSV 파일을 읽어 User 테이블에 데이터 삽입 ```SQL LOAD DATA INFILE '/path/to/your/file.csv' INTO TABLE users FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (rank, money, nickname, start_date, last_login); ``` ## 데이터 조회 - 백만개의 데이터 조회 시 1.4s - `SELECT * FROM User WHERE id < 1000000;` ## 에러발생 - 데이터를 150만개씩 2번 넣으면 AutoIncrement로 설정된 id가 3,000,000 임을 기대했는데, 3,007,000 즈음의 값이 나왔습니다. - csv 파일 두개를 합쳐서 300만개의 데이터를 넣으면 최대 id가 3,000,000 입니다. 그리고 150만개의 데이터가 담긴 csv 파일을 읽었더니 max(id)가 451만이 넘는 값이 나왔습니다. 해커가 왔다감 ㅋㅋ