source

MySql TEXT 열을 인덱싱하시겠습니까?

factcode 2022. 9. 15. 22:44
반응형

MySql TEXT 열을 인덱싱하시겠습니까?

MySql을 사용하여 실행했는데 다음과 같이 되지 않는 것 같습니다.TEXT사용하는 SQL Server에서nvarchar(max)MySql에서는 무엇을 사용해야 합니까?다른 표에서는 설명으로 되어 있는 필드도 있고 길 수도 있기 때문에, 현시점에서는 고정길이가 좋지 않다고 생각하고 있습니다.

create table if not exists 
    misc_info (
        id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
        key TEXT UNIQUE NOT NULL,
        value TEXT NOT NULL
    )ENGINE=INNODB;

MySQL의 텍스트 열에는 고유 인덱스를 사용할 수 없습니다.

TEXT 또는 BLOB 필드에 인덱스를 작성하려면 고정 길이를 지정해야 합니다.

MySQL 문서:

BLOB 및 TEXT 열도 인덱싱할 수 있지만 접두사 길이를 지정해야 합니다.

예:

CREATE UNIQUE INDEX index_name ON misc_info (key(10));

두 가지:

  1. 키는 예약어입니다.
  2. 의 길이를 지정해야 합니다.UNIQUE(key) TEXT value.

내 생각에 그것은 목구멍이 막힐 것 같아.keyTEXT 타입이 아닌 필드명을 입력합니다(완벽하게 사용할 수 있습니다).

mySQ 예약어l

(@Pablo가 말했듯이 메모 필드는 고유할 수 없습니다.)

언급URL : https://stackoverflow.com/questions/2889827/indexing-a-mysql-text-column

반응형