공통으로 사용해야 하는 테이블이 다른 서버에 있어서 CREATE TABLE .... ENGINE=FEDERATED... 구문을 사용했는데 테이블 생성에 실패했다는 빨간 엑스표시가 떴다. FEDERATED 엔진이 설치되어 있어야 해당 구문을 사용할 수 있다고 한다. FEDERATED 엔진이 설치되었는지 먼저 확인한다. mysql > SHOW ENGINES; (어디서는 USE mysql;을 한 다음에 사용하라고 했는데 내 경우는 다른 DB에서도 조회가 되었다...) 그리고 FEDERATED 엔진을 추가하는 방법을 검색했는데.... 무엇이 맞는 것일까? https://bloghelloworld.tistory.com/284 https://sarc.io/index.php/mariadb/1167-mariadb-fe..
출처https://zetawiki.com/wiki/MySQL_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%EC%9A%A9%EB%9F%89_%ED%99%95%EC%9D%B8 *리눅스 서버 콘솔에서 확인 - DB별 용량 확인 : du -h /var/lib/mysql - 전체 용량 확인 : du -sh /var/lib/mysql - 남은 용량 확인 : df -h /var/lib/mysql *리눅스 디스크 용량 확인 명령어https://uzihoon.com/post/831cf540-adf4-11ea-b011-b113e86828fc *mysql 또는 Workbench에서 확인 - DB별 용량 확인 : SELECT table_schema "D..
참고사이트 : https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html delimiter | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END; | delimiter ; (코드는 참고사이트의 예제) 특정 테이블의 데이터를 업데이트 할 때 이전의 데이터를 백업해 두고 싶었다. 그래서 그 테이블에 BEFORE UPDATE Trigger를 생성해보았다. MySQL Workben..
원문 사이트 : https://docs.mongodb.com/manual/tutorial/query-documents/ -- Query Documents -- Query on Embedded/Nested Documents : field의 value가 document인 경우 db.inventory.insertMany([ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }, { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" }, { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }..
1. 설치환경은 CentOS7. 2. 설치목적은 테스트 환경 세팅. 개발 서버라 마음놓고 설치하며 시건방을 떨면서 글을 쓰다가 엄청나게 삽질하고 겸허함을 담아 고쳐쓴다 ㅠㅠ 3. 설치방법 1) 설치 추천 사이트 : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 사이트에서 버전을 선택하여 따라하면 된다. 왼쪽 상단에 보면 버전을 선택할 수 있는 select가 있다. 4.2.3 버전을 설치해 보았다. 따라하다 보면 응? 쉬운데? 이러면서 건방을 떨게 된다.... 2) 이 곳은 서비스 등록까지 알려준다! 게다가 user 등록까지! : http://wikidocs.net/16278 다만 이 곳은 3버전을 설치한다. 설치하면서 비교해 본..
1. PK 만들기 https://docs.microsoft.com/ko-kr/sql/relational-databases/tables/create-primary-keys?view=sql-server-ver15 1) 기존 테이블에 추가 ALTER TABLE 테이블명 ADD CONSTRAINT PK명 PRIMARY KEY CLUSTERED (컬럼명) 2) 새로운 테이블 생성 시 추가 CREATE TABLE 테이블명 ( 컬럼1 데이터형 NOT NULL , 컬럼2 데이터형 NULL , .... , CONSTRAINT PK명 PRIMARY KEY CLUSTERED (컬럼명) ) 2. 컬럼 데이터형 변경 ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 변경하려는데이터형 (수정하려는 컬럼에 제약 조건이 ..
1. 현상 : 리스트 로딩 시 검색어가 추가되면 속도가 많이 느렸다. 답답이.... 검색어가 총 3개의 테이블을 검색하는 것이지만 너무 느린감이 있어서 튜닝에 나섰다. 2. 원인 : 처음 쿼리가 이랬다... SELECT 소요 시간은 2.17초 정도 SELECT ... FROM 테이블1 WHERE INSTR(컬럼1_테이블1, '검색어') > 0 OR PK_테이블1 IN ( SELECT FK_테이블2 FROM 테이블2 WHERE INSTR(컬럼2_테이블2, '검색어') > 0 UNION SELECT FK_테이블3 FROM 테이블3 WHERE INSTR(컬럼3_테이블3, '검색어') > 0 ) - 검색어를 검색할 때 INSTR 함수를 사용했는데 이 부분을 LIKE 문으로 바꾸자 속도가 개선되었다. 검색어 검색..
1. 문자열 인덱스 찾기 1) CHARINDEX(찾는 문자, 문자열) : 문자열에서 찾는 문자의 첫 번째 인덱스 값을 찾을 때 ** MSSQL에서 인덱스는 1부터 시작한다. ** lastIndexOf 값을 찾고 싶을 때 : LEN(문자열) + 1 - CHARINDEX(찾는 문자, REVERSE(문자열)) 2. 문자열 자르기 (참고 사이트 : https://coding-factory.tistory.com/99) 1) LEFT(문자열, 자르려는 문자수) : 왼쪽부터 자르려는 문자수 만큼 문자열 자를 때 2) RIGHT(문자열, 자르려는 문자수) : 오른쪽부터 자르려는 문자수 만큼 문자열 자를 때 3) SUBSTRING(문자열, 자르려는 시작점, 자르려는 문자수) : 자르려는 시작점부터 자르려는 문자수 만큼 ..