2010-05-07 3 views
2

나는 TEXT 구조를 가진 열이 있습니다. 3 행이 TEXT 열에 대해 다음 데이터를 고려하여 얼마나 많은 공간을 차지하고 있는지 알고 싶습니다.php & mySQL : TEXT 열에 의해 차지하는 공간

 TEXT column 
ROW1 
ROW2 Hi 
ROW3 ABCDEFGHIJKLMNOPQRSTUVWXYZ... (really long, let's say 1500 characters) 

위 3 행이 있습니다. Row1이 비어 있습니다. Row2는 그 안에 2 자만 있습니다. 그리고 Row3은 최대 1500 자입니다.

Row3 : TEXT: L + 2 bytes, where L < 216하지만 내가 :

수동 말한다

ROW1 :

행 2 그래서 차지하는 공간이 무엇인지 알고 싶습니다 위의 경우에 그것이 어떻게 작동하는지 약간 불분명하다. 또한 응용 프로그램에서 꽤 많이 사용하므로 TEXT 열에 의해 차지하는 공간을 기반으로 DB를 표준화 할 생각이기 때문에이 질문을합니다.

감사합니다.

+1

테이블에 많은 활동이있는 경우 테이블을 세로로 2로 나누면됩니다 : 첫 번째 텍스트가 아닌 필드가 있고 두 번째 텍스트 필드와 첫 번째 FK가 있습니다. – dnagirl

+0

예, 그 점을 염두에 두었습니다. 공간 사용법이 어떻게 작동 하는지를 알고 싶었 기 때문에 공간 사용 여부를 결정할 수있었습니다. – Devner

+0

@dnagirl 요즘은 그게 정말로 중요하다고 생각하지 않습니다. –

답변

3

아니요, 다른 셀 크기가 최대 값으로 정렬되지 않습니다.
이 필드에 실제 데이터 크기가 저장되어 있습니다.

"정규화"란 무엇입니까?

+0

답장을 보내 주셔서 감사합니다. 나와 내 응용 프로그램의 경우, 정규화는 행의 데이터로 구성 될 수도 있고 구성되지 않을 수도있는 열을 가질 수도 있고 행 자체의 다른 테이블로 이동되어 PK에 의해 참조되는 열을 가질 수도 있습니다. 제가 물어 보려던 것은 설명 된 조건에서의 공간 사용법입니다. 어떤 제안? – Devner

+0

@Denver 조기 최적화에 대한 유일한 제안. 모든 최적화는 유휴 생각이 아닌'프로파일 링 '의 결과 여야합니다. 그리고 나는 당신의 움직임에서 정상화라고 할 수있는 것이 아무것도 없다고 봅니다. 데이터베이스가 너무 멍청하고 수동으로 업무를 수행하고자하는 것 같습니다. 왜 데이터베이스가 빈 행 등을 처리 할 수 ​​없다고 생각합니까? –

+0

@Col. DB가 빈 행을 처리 할 수 ​​없다는 말은하지 않았습니다. 나는 DB에 가능한 한 적은 공간을 사용하기를 원한다. 나는 그것의 데이터가 있는지 여부에 관계없이 공간을 차지하는 열을 가지기보다는 자신의 다른 테이블에있는 데이터를 가질 수도 있고 갖지 않을 수도있는 열을 갖는 것을 선호합니다 (심지어 바이트 또는 두 개를 의미하는 경우에도) . 그래서 여기서 시도한 것은 DB가 사용하는 공간을 절약하는 것이며 빈 행을 처리하기 위해 무결성을 묻는 질문이 아닙니다.내가 말하는 바가 의미가 있기를 바랍니다. 어떤 공간 사용량 통계가 있습니까? – Devner