2011-11-04 1 views
1

지정된 열 (예 : username)별로 테이블 행을 정렬하고 기본 키 값을 다시 할당 한 다음 테이블 내용을 정렬 된 값으로 바꿀 수 있습니까?mySQL : 실제 정렬

+0

왜이 지구상에서 "물리적 분류"를 찾고 있습니까? 파일을 열 때 하드 디스크에있는 파일의 내용이 항상 같은 순서로 있다고 생각합니까? – Kangkan

+0

@JhourladEstrella 나는 당신을 위해 투표하고 있습니다. 그것은 내가 당신을 위해 할 수있는 대부분의 것입니다 :-) –

답변

2

예, MySQL에는 파일에서 행의 테이블 정렬을 결정하는 방법이 있습니다. 테이블이 의 MyISAM 유형 인 경우에 당신은 실행할 수 있습니다

ALTER TABLE `users` ORDER BY `username`; 

테이블은 이제 이름에 의해 정렬됩니다. 이렇게하면 파일의 행 순서가 수정되고 파일 시스템은 파일 시스템에서 조각화 될 수 있으며 ALTER TABLE으로 주소를 지정할 수 없습니다. the manual에서 :

주문 BY는 특정 순서로 행에 새 테이블을 만들 수 있습니다. 삽입 및 삭제 후에는 테이블이이 순서대로 남아 있지 않습니다. 이 옵션은 대부분 특정 순서로 행을 쿼리하는 것이 주로 유용 할 때 주로 유용합니다. 테이블을 크게 변경 한 후에이 옵션을 사용하면 더 높은 성능을 얻을 수 있습니다. 경우에 따라 테이블을 나중에 순서대로 정렬하려는 열 순서대로 정렬하면 MySQL에서보다 쉽게 ​​정렬 할 수 있습니다.

그러나 당신은 당신이 정렬 된 목록의 첫 번째 사용자가 1, 2 것 등등, 다음, 그냥하지 않도록, 숫자 기본 키를 재 배열 할 것을 의미합니다. 한 번 할당 된 기본 키는 절대로 건드리지 마십시오.