2009-09-17 5 views
0

MySQL DB 구조를 구성하고 CRUD 문을 직접 작성할 수있는 경우 데이터베이스 스키마 (DB에 임베드 됨)의 필요성은 무엇입니까? 나는 이들과 함께 일한 적이 없지만 성능 최적화를 위해서만 사용한다고 가정합니다.왜 MySQL 데이터베이스 스키마가 필요합니까?

난 당신이 VARCHAR (255)와 같은 데이터베이스에있는 모든 열을 만들 수 있습니다, MySQL Workbench.

답변

1

귀하의 질문에 완전히 명확하지 않습니다. 왜 스키마에 대한 편집 가능한 그래픽 표현이 필요한지 묻는다면 데이터베이스의 구조를 그래픽으로 표현하기 위해이 필요하지 않습니다 ().

데이터베이스 디자인이나 DB 설계 방법을 한눈에 파악해야 할 때 유용합니다. DDL 문장을 사용하는 대신 그래픽 표현을 편집하는 것이 더 쉬운 경우가 있습니다.

DB가 저장된 스키마의 위치를 ​​알고 싶으면 표준 INFORMATION_SCHEMA 테이블을 통해 노출됩니다. 물론 DDL이 데이터베이스에 있습니다 (그렇지 않으면 db가 데이터를 저장하는 방법을 어떻게 알 수 있습니까?)

+0

Q : 성능을 위해 DB에 스키마를 저장하는 방법이 있습니까? 이것에 대한 필요가 있습니까? –

+0

스키마 *는 데이터베이스에 있습니다. INFORMATION_SCHEMA를 쿼리하여 DB 스키마에 대해 알아야 할 모든 것을 찾을 수 있습니다. –

0

음과 함께 예를 들어, DB 구조를 생성합니다 .SQL 명령로 내보낼 수 있습니다 스키마 다이어그램 알고,하지만 결과는 믿을 수 없을 정도로 느릴 것입니다.

데이터베이스가 쿼리를 수행하는 방식에 대해 생각하십시오. 인덱스가 있습니다 (사전의 색인을 생각해보십시오). 그것은 인덱스를 살펴보고 올바른 레코드 (사전의 오른쪽 페이지)를 찾습니다. 그런 다음 레코드를 반환합니다.

인덱스가 작 으면 검색의 속도가 빨라집니다. 인덱스의 더 많은 "페이지"가 ​​동시에 메모리에 들어갈 수 있기 때문에 (생각하면 2 페이지 인 경우 사전 색인을 살펴 보는 것이 더 쉽지 않습니다. 500 대신에?). 따라서 문자열 인덱스를 사용하는 것보다 쿼리에 정수 인덱스를 사용하는 것이 훨씬 빠릅니다.

관련 문제