잠시만 기다려 주세요


 
HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (763)  |  추천 및 재미 (15)  |  자료실 (16)  |  끄적거림 (421)  |  시나리오 (757)  |  드라마 대본 (248)  |  

2019년 04월 22일
술은 거지의 친구다. - 바다아이
 

    DATABASE

DATABASE - mysql 테이블 lock 락 설정, 해제
이 름 : 바다아이   |   조회수 : 1764         짧은 주소 : https://www.bada-ie.com/su/?941523062854

MySQL 테이블락 예제

 

● 테이블락 설정

1. READ 락

락을 실행한 세션과 모든 세션에서 insert, update, delete가 불가능하고 select만 가능

LOCK TABLES 테이블명 READ;

2. WRITE 락

락을 실행한 세션에서만 insert, update, delete가 가능

단, insert 한 행은 락이 해제되기 전에는 select가 되지 않으니 유의하기 바람.

LOCK TABLES 테이블명 WRITE;

※ 테이블락을 설정한 상태에서 설정 테이블 이 외의 테이블은 select 가 안되니 select가 필요한 테이블은 함께 락을 걸어줘야 된다.

 

● 테이블락 해제

락을 해제한 후에는 다른 세션에서 접근이 가능하다.

UNLOCK TABLES;

 

 

● 테이블락 대기 시간 확인

show variables like 'table_lock_wait_timeout';

결과

 

 

 Variable_name

 Value

 table_lock_wait_timeout

 50

 

 

테이블락을 걸고 해제하기 까지 수행되는 시간이 길어진다면 그 사이 수많은 커넥션이 발생할 것으로 예상되어 진다.

완전 무결한 데이터 관리도 중요하지만 잘못된 테이블락 설정은 다른 유저의 짜증을 유발할지도 모를일이다.

 

그리고 시간이 오래걸리는 여러건 반복적인 작업인 경우에는 반복문 바깥이 아닌 안쪽에 LOCK TABLES 를 걸었다가 UNLOCK TABLES 를 해주어야 한다.

바깥에 테이블락을 걸게되면 모든 작업이 끝날때 까지 대기가 되어 엄청난 커넥션이 쌓이게 될 것이다.

 

이는 결국 too many open files 에러를 뿜게 될 수도 있다.


출처 : http://itrooms.tistory.com/20
 

| |


      1 page / 3 page
번 호 카테고리 제 목 이름 조회수
72 DATABASE db .. dbeaver, db admin tool 바다아이 228
71 DATABASE postgresql SEQUENCE reset .... 바다아이 338
70 DATABASE mysql, mariadb , , , , left, substring, right, concat 바다아이 657
69 DATABASE [PostgreSql] WITH , , Operator 바다아이 440
68 DATABASE postgresql for, foreach , 바다아이 466
67 DATABASE postgresql , , into ... 바다아이 433
66 DATABASE postgresql PL/pgSQL - SQL Procedural Language, , 바다아이 1772
65 DATABASE postgresql ... .. 바다아이 514
64 DATABASE postgresql CSV export/import 바다아이 576
63 DATABASE postgresql tablespace , .... 바다아이 650
62 DATABASE postgresql 10 partitioning, ... , ... 바다아이 495
61 DATABASE Using PostgreSQL Arrays, ... ... 바다아이 553
60 DATABASE PostgreSQL (TRIGGER) (function) 바다아이 546
59 DATABASE mysql, mariadb DISTINCT GROUP BY 바다아이 524
58 DATABASE Optimize and Improve PostgreSQL Performance with VACUUM, ANALYZE, and REINDEX 바다아이 552
57 DATABASE postgresql tuple . vacuumdb .. , . 바다아이 569
56 DATABASE RDBMS SQL MONGODB ... 바다아이 512
55 DATABASE mysql 5.x my.cnf 바다아이 702
54 DATABASE postgresql , .. 바다아이 794
53 DATABASE postgresql , size, 바다아이 913
52 DATABASE postgresql , , .... 바다아이 705
51 DATABASE PostgreSQL Replication, , , master, slave 바다아이 867
50 DATABASE postgresql case 바다아이 740
49 DATABASE postgresql with 바다아이 695
48 DATABASE postgresql , , string 바다아이 809
47 DATABASE / SELECT , 바다아이 776
46 DATABASE Postgresql partitioning table , , , 바다아이 832
45 DATABASE PostgreSQL 바다아이 957
44 DATABASE postgresql vacuumdb, psql, pg_dump password crontab 바다아이 1060
43 DATABASE postgresql sequence 퀀 auto_increment . 바다아이 1455
| |






Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : New Jersey  실행시간 : 0.04487
to webmaster... gogo sea. gogo sea.