본문 바로가기

Database4

[Database] Mybatis 다량 Row 한번에 Insert 하는 법 개요10만번의 insert를 할 경우 232초가 걸렸다. 10만번의 DB I/O 시간 때문인데, UX관점에서 좋지 않았다.I/O 횟수 단축을 위해 다량의 데이터를 한 번에 insert하는 방법을 찾았다.방법 1insert의 values 구문에 여러 개의 데이터 Row를 넣는다.기존insert into dataset(ID, FIRSTNAME, LASTNAME, EMAIL)values(1, "Gomgom", "Kim", "abc@naver.com")다중 insertinsert into dataset(ID, FIRSTNAME, LASTNAME, EMAIL)values(1, "Gomgom", "Kim", "abc@naver.com"),(2, "Gomgom2", "Kim", "abc2@naver.com"),(3,.. Database 2022. 12. 8.
[Database] 유저별로 메뉴 다르게 보이기 개요유저 별로 사이트의 메뉴가 다르게 나오기 위해 데이터베이스를 구축한다. 해당 프로그램에선 2 depth의 메뉴 리스트를 만들 예정이다.구현테이블은 2개가 필요하다.1. 메뉴 테이블2. 유저 별 사용 가능한 메뉴 표시 테이블1. 메뉴 테이블칼럼 정보IDXNAMENAME_KRPATHPARENT_IDXpk영어이름(키로 사용)한글이름(UI로 사용)프론트 경로상단 태그IDX : PKNAME : 메뉴 탭의 영어 이름으로써 프런트에서 키로 연결하기 위해 필요하다.NAME_KR : 메뉴 탭의 한글 이름으로써 프론트에서 UI로 나타내기 위해 필요하다.PATH : 프론트에서 사용하는 실제 경로이다.PARENT_IDX : 상위 메뉴의 IDX를 나타낸다. SELF JOIN을 통하여 메뉴를 연결할 예정이다2. 유저 별 사용.. Database 2021. 6. 28.
[Database] workbench에서 csv 데이터 import 하기 개요workbench에서 csv 파일을 import 하여 한번에 데이터를 입력한다. 서로 다른 DB 서버에서 테이블을 복사하거나 엑셀 형식의 데이터 파일을 한 번에 삽입할 때 활용할 수 있다.방법1. 삽입을 원하는 테이블을 마우스 우클릭 하여 Table Data Import Wizard를 클릭한다.2. csv 파일을 선택한 후 Next를 누른다. 3. 기존 테이블을 선택한 후 Next를 누른다.새 테이블을 만들 예정이라면 아래 항목을 선택하여 테이블 명을 입력하면 된다.[중요] 4. 테이블 컬럼명과 csv컬럼명을 매핑한다.기본적으로 같은 이름으로 매핑해주지만,가끔 다르게 매핑되거나 다른 이름은 자동으로 다른 값으로 매핑된다.해당 부분은 사용자가 직접 매핑해야한다. 5. Next 두 번 누르면 완료된다. Database 2021. 6. 21.
[Database] Auto Increment가 적용되지 않을 때 SET FOREIGN_KEY_CHECKS = 0; 이슈 기존 테이블 내에서 기본키의 Auto Increment 설정을 적용할 때 적용되지 않는 오류가 있었다. 원인 해당 키가 다른 테이블의 외래키로 잡혀있었기 때문에 Auto Increment 설정을 할 수 없다는 것이었다. Error 1833: Cannot change column 'IDX' : used in a foreign key constraint '[외래키 인덱스]' of table '[테이블 명]' SQL Statement: ALTER TABLE `[테이블 명]` CHANGE COLUMN `IDX` INT(11) NOT NULL AUTO_INCREMENT 해결 방법 SET FOREIGN_KEY_CHECKS = 0; 을 붙여서 외래키 검사를 무시하게 만든다. SET FOREIGN_KEY_CHEC.. Database 2021. 4. 8.