본문 바로가기

Programing/DB24

[MySQL] Stored Procedure - Database 안에 저장된 pre-complie 된 SQL statement 모음 - 일반적인 computing 언어의 subroutine || subprogram - Procedure 는 항상 name, parameter list, SQL statment 를 가짐. - Trigger, 다른 Procedure, Application(Java, Python, PHP, etc) 등을 통해 Procedure를 호출(Invoke). - 하나 이상의 Command, Search for, Insert, Database의 Update or Delete data 를 이행하는데 쓰임. - 거의 모든 관계형 DB 시스템에서 지원함. - 기업형 Application 처럼 정기적으로 반복하는 DB Cleanup, Pro.. 2022. 11. 18.
[DB] MySQL Table 구조 및 데이터 복사 (1) 구조 복사 : $ CREATE TABLE [새 테이블 이름] LIKE [기존 테이블 이름]; $ CREATE TABLE newbie LIKE old_tree; (2) 구조 & 데이터 복사 : $ CREATE TABLE [새로운 테이블 이름] (SELECT * FROM [기존 테이블 이름]); $ CREATE TABLE newbie (SELECT * FROM old_tree); ==> primary key 또는 auto increment 설정 등은 적용되지 않음 (3) 데이터 복사 $ INSERT INTO [타겟 테이블 이름] (SELECT * FROM [기존 테이블 이름]); $ INSERT INTO newbie (SELECT * FROM old_tree); ==> primary key 또는 au.. 2022. 11. 16.
[DB] MySQL Table 수정&교체 - MySQL 의 Table 을 수정하거나 교체해보자 [Table 수정] [컬럼 추가, Add] $ ALTER TABLE [변경할 table_name] ADD COLUMN [추가할 column_name] VARCHAR(255) NOT NULL; [컬럼 변경, Modify] $ ALTER TABLE [변경할 table_name] MODIFY COLUMN [변경할 column_name] VARCHAR(255) NOT NULL; [컬럼 이름도 함께 변경, Change] $ ALTER TABLE [변경할 table_name] CHANGE COLUMN [변경할 column_name] [바꿀 column 명칭] VARCHAR(255) NOT NULL; [테이블 이름 변경, Rename] $ ALTER TABLE [.. 2022. 11. 3.
[DB] Concurrency Problem (동시성 이슈) - 여러 user에 의해 변경 사항이 발생해도, data manager는 data의 integrity(완전성, 영향받지 않은 온전한 상태)를 보장해야 함. - Concurrency 는 application이 선언 혹은 만들어질 때만 가능하므로 global temporary table의 문제는 아님. - 가장 낮은 isolation level 0 에선 lock이 걸리지 않아 속도가 매우 빠름. && 동시 접근을 허용하기에 data 정합성에 문제 발생 가능. - 가장 높은 isolation level 3 에선 완전히 lock을 걸어 동시 접근 차단 및 순차 처리(Serializable). ==> 정합성은 완벽하지만 동시처리 양이 적어 속도가 매우 느림. - (사전 의미) 1개의 CPU Core에서 Time .. 2022. 10. 20.