2017-12-10 3 views
0

2 개의 컬럼이 공동으로 기본 키 역할을하는 6 개의 컬럼이있는 테이블이 있습니다.mysql 테이블에 숫자 인덱스를 추가하십시오.

그러나 이제 테이블의 각 행에 숫자 인덱스 열을 추가하여 한 번에 특정 수의 행을 가져와 매번 새 데이터를 가져올 수 있습니다.

현재 열을 정렬 할 때마다 테이블이 커질 때마다 많은 시간이 걸립니다.

어떤 솔루션이 가장 좋을까요?

+0

이 그냥 나쁜 생각 – Strawberry

+0

왜 같은 소리를? @Strawberry –

+1

행이 삭제되고 ORDER BY 및 LIMIT가이 목적으로 적합하기 때문에 – Strawberry

답변

-1

는 자동 증가 INT 값을 갖는 새 열을 추가하고 기본 키합니다

alter table myTable add new_primary_id int primary key auto_increment first 
+1

새 ID는 'PRIMARY KEY'일 필요는 없으며 단지 'INDEX'일 수 있습니다. –

+0

@Strawberry - auto_inc에는 _any_ 인덱스의 첫 번째 것으로 충분합니다. [_Reference_] (https://dev.mysql.com/doc/refman/5.7/en/innodb-auto-increment-handling.html). (플러스, 여러 테이블에서 수행했습니다.) –

+0

@Strawberry - 해당 페이지에서 인용 : "InnoDB 테이블에서 AUTO_INCREMENT 메커니즘을 사용하려면 AUTO_INCREMENT 컬럼을 인덱스의 일부로 정의해야만 수행 할 수 있습니다 최대 컬럼 값을 얻기 위해 테이블에 대한 인덱스 된 SELECT MAX (ai_col) 룩업과 동등합니다. 일반적으로이 컬럼은 일부 테이블 인덱스의 첫 번째 컬럼을 생성함으로써 달성됩니다. " –