MYSQL 파티셔닝이란?
나는 문서 ( http://dev.mysql.com/doc/refman/5.1/en/partitioning.html )를 읽었 지만 그것이 무엇이며 왜 사용되는지 당신의 말로 원합니다.
- 주로 여러 대의 서버에 사용되므로 한 대의 서버를 끌어 내리지 않습니까?
- 따라서 데이터의 일부는 server1에 있고 데이터의 일부는 server2에 있습니다. 그리고 서버 3은 server1 또는 server2를 "지시"합니다. 작동 방식이 맞습니까?
- MYSQL 문서가 동일한 서버 내에서 분할하는 데 초점을 맞추는 이유는 무엇입니까? 목적이 서버간에 분산하는 것이라면?
분할의 기본 개념은 여러 서버를 사용하는 것이 아니라 하나의 테이블 대신 여러 테이블을 사용하는 것입니다. 테이블을 여러 테이블로 나눌 수 있으므로 한 하위 테이블에는 이전 데이터가 있고 다른 테이블에는 새 데이터가있을 수 있습니다. 그러면 데이터베이스는 두 번째 테이블에 있다는 것을 알고 새 데이터를 요청하는 쿼리를 최적화 할 수 있습니다. 또한 데이터가 분할되는 방식을 정의합니다.
MySQL 문서의 간단한 예 :
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT,
store_id INT
)
PARTITION BY RANGE ( YEAR(separated) ) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1996),
PARTITION p2 VALUES LESS THAN (2001),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
예를 들어 속도를 높일 수 있습니다.
간단한 방법으로 오래된 데이터 삭제 :
ALTER TABLE employees DROP PARTITION p0;
데이터베이스는 다음과 같은 쿼리 속도를 높일 수 있습니다.
SELECT COUNT(*) FROM employees WHERE separated BETWEEN '2000-01-01' AND '2000-12-31' GROUP BY store_id;
모든 데이터가 p2 파티션에만 저장된다는 것을 알고 있습니다.
분할 된 테이블은 여러 물리적 서브 테이블로 구성있어 하나의 논리적 테이블입니다. 분할 코드는 실제로 기본 파티션을 나타내는 Handler 개체 집합을 둘러싼 래퍼이며 Handler 개체를 통해 요청을 스토리지 엔진에 전달합니다. 분할은 해시로 구분 된 명명 규칙을 사용하는 구성 요소 테이블을 볼 수있는 파일 시스템을 보면 쉽게 볼 수 있지만 SQL 계층에서 기본 분할 영역을 숨기는 일종의 블랙 박스입니다.
예를 들어, 다음은 매년 매출액을 별도의 파티션에 배치하는 간단한 방법입니다.
CREATE TABLE sales (
order_date DATETIME NOT NULL,
-- Other columns omitted
) ENGINE=InnoDB PARTITION BY RANGE(YEAR(order_date)) (
PARTITION p_2010 VALUES LESS THAN (2010),
PARTITION p_2011 VALUES LESS THAN (2011),
PARTITION p_2012 VALUES LESS THAN (2012),
PARTITION p_catchall VALUES LESS THAN MAXVALUE );
참고 URL : https://stackoverflow.com/questions/1579930/what-is-mysql-partitioning
'Programing' 카테고리의 다른 글
Ajax 호출 후 Jquery 이벤트가 실행되지 않습니다. (0) | 2020.12.03 |
---|---|
Angular 2에서 제출 한 후 양식을 지우는 방법은 무엇입니까? (0) | 2020.12.03 |
toRad () 자바 스크립트 함수에서 오류 발생 (0) | 2020.12.03 |
Firebug에서 축소 된 JS를 어떻게 디버깅 할 수 있습니까? (0) | 2020.12.03 |
롤링 분산 알고리즘 (0) | 2020.12.02 |