PHP 면접 MYSQL 베이스
3531 단어 mysql
정수 유형
TINYINT SMALLINT MEDIUMINT INT BIGINT
속성: UNSIGNED (비 마이너스) 길이: 정수 형식에 너비를 지정할 수 있습니다. 예를 들어 int (11) 는 대부분의 응용에 의미가 없습니다. 값의 합법적인 범위를 제한하지 않고 문자의 개수만 영향을 줍니다. 예를 들어 int (3) 1234는 12zerofill (0 충전) 을 저장할 수 있습니다.
실수 유형
FLOAT DOUBLE DECIMAL DECIMAL은 BIGINT보다 큰 정수를 저장하여 정확한 소수점을 저장할 수 있습니다.float와 더블은 소수 범위가 있는데, 그들은 표준적인 부동점을 사용하여 근사한 계산을 지원한다
문자열 유형
VARCHAR CHAR TEXT BLOB VARCHAR 유형은 가변 길이 문자열을 저장하는 데 사용됩니다. 이것은 정해진 길이 문자열보다 공간을 절약합니다. VARCHAR는 1 또는 2개의 추가 바이트를 사용하여 문자열의 길이를 기록합니다.자르기 CHAR은 정해진 길이로 정해진 문자열 길이에 따라 충분한 공간을 분배합니다. CHAR는 필요에 따라 빈칸으로 채워서 짧은 문자열을 저장하기에 편리하거나 모든 값이 같은 길이에 가깝습니다. CHAR 길이가 설정한 길이를 초과하면 문자열 유형이 잘립니다. 자주 변경되는 데이터에 대해서는char가 varchar보다 좋습니다.char는 조각이 쉽게 생기지 않습니다. 아주 짧은 열에 대해char는varchar보다 저장 공간에서 더 효율적입니다. 진정한 공간만 분배하고 더 긴 열은 더 많은 메모리를 소모합니다. BLOB/TEXT 형식의 조회 조회를 최대한 피하고 임시 테이블을 사용해서 심각한 성능 비용을 초래합니다.
매거
때때로 자주 사용하는 문자열 형식 대신 매거진을 사용하여 중복되지 않는 집합을 하나의 미리 정의된 집합으로 저장할 수 있다. 목록 값을 한 바이트 또는 두 바이트로 압축하여 내부에 저장하는 것은 정수이다. 숫자를 ENUM 매거진의 상수로 사용하는 것을 최대한 피하고 혼란스럽게 정렬하는 것은 내부에 저장된 정수에 따라 매거진을 정렬하는 것이다. 매거표는 표의 크기를 크게 줄일 수 있다.
날짜 및 실천 유형
TIMESTAMP를 최대한 사용하면 DATETIME 공간보다 효율이 높습니다. 정수로 시간 스탬프를 저장하는 형식은 보통 처리하기 불편합니다. 마이크로초를 저장하려면bigint 저장소를 사용할 수 있습니다.
열 속성
auto_increment 、default 、not null、zerofill
다음 MYSQL 데이터 형식의 의미를 쓰십시오 (int (0) char (16) varchar (16) datetime text)
int(0) 0
char(16) 16
varchar(16) 16
datetime
text
MYSQL의 기본 작업
MYSQL 연결 및 닫기
mysql -u -p -h -P //
: \G
\c mysql
\q mysql
\s
\h
\d
MYSQL 스토리지 엔진
InnoDB:
기본 사무형 엔진은 가장 중요하고 광범위한 저장 엔진 성능이 매우 우수하다. 데이터는 공유표 공간에 저장된다. 메인 키 조회에 대한 성능을 다른 유형의 저장 엔진 내부보다 분리하여 많은 최적화를 할 수 있다. 디스크에서 데이터를 읽을 때 자동으로 메모리에서hash 인덱스를 구축하고 데이터를 삽입할 때 자동으로 삽입 버퍼를 구축한다. 일부 메커니즘과 도구 지원을 통해진정한 핫 백업 지원 충돌 후 보안 복구 지원 줄 잠금 지원 키
MyISAM 테이블 엔진:
5.1 MyISAM
、
MYD MYI
기타 테이블 엔진:
Archive Blackhole CSV Memory
MYSQL 잠금 메커니즘
시계 자물쇠는 일상 개발에서 흔히 볼 수 있는 문제이기 때문에 면접에서 가장 흔히 볼 수 있는 고찰점이기도 하다. 여러 개의 조회가 같은 시간에 데이터를 수정할 때문제가 발생하고 제어되는 공유 자물쇠와 배열 자물쇠는 사실 읽기 자물쇠와 쓰기 자물쇠입니다. 공유된 여러 사용자가 한 자원을 동시에 읽을 수 있고 쓰기 자물쇠를 방해하지 않습니다. 배열된 하나의 쓰기 자물쇠는 다른 쓰기 자물쇠와 읽기 자물쇠를 막습니다. 이렇게 하면 한 사람만 쓰기를 허용하고 다른 사용자가 쓰기 중인 자원을 읽지 못하게 합니다.자물쇠 입도: 시계 자물쇠: 시스템 성능 비용이 가장 적으면 전체 시계를 잠글 수 있습니다. MyISAM은 시계 자물쇠를 사용합니다. 최대 한도로 병렬 처리를 지원하지만 최대 비용을 가져옵니다. InnoDB는 시계 자물쇠를 사용합니다.
MYSQL 트랜잭션, 스토리지 프로세스, 트리거
MYSQL 트랜잭션 처리:
MYSQL이 제공하는 사무처리의 테이블 엔진: InnoDB 서버 층은 사무를 관리하지 않고 하층 엔진으로 이루어지기 때문에 같은 사무에서 여러 가지 저장 엔진을 사용하여 비사무적인 테이블에서 사무조작을 실행하지 않기 때문에 MYSQL은 알림을 보내지 않고 오류를 보고하지 않습니다
저장 프로시저:
이후의 사용을 위해 하나 이상의 MYSQL 문장을 저장하는 집합 저장 과정은 업무 논리와 절차가 있는 집합으로 저장 과정에서 표를 만들고 데이터를 업데이트하며 삭제하는 등 사용 장면을 사용할 수 있다. 처리를 사용하기 쉬운 단원에 봉하여 간단하고 복잡한 조작을 통해 데이터의 일치성을 확보하고 변동에 대한 관리를 간소화한다.
트리거:
프로그래머와 데이터 분석원에게 데이터의 완전성을 확보하는 방법을 제공하는 것은 테이블 이벤트와 관련된 특수한 저장 과정이다.사용 장면: 데이터베이스에 있는 관련 표를 통해 등급별 변경을 실현하고 특정한 표의 특정한 필드의 변경을 실시간으로 감시할 수 있으며 응답을 해야 하는 일부 업무 번호의 생성 등 남용은 데이터베이스와 프로그램 유지보수에 어려움을 초래할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.