2012-03-02 3 views
0

간단한 업데이트 쿼리가 너무 오래 걸립니다.간단한 mysql 업데이트 쿼리를 최적화하십시오.

이 쿼리를 최적화해야합니다. 가입이 없으므로 시간이 많이 걸리지 않아야합니다.

간단한 업데이트 쿼리

은 다음과 같습니다 :

UPDATE need 
    SET `column7` = "in ABC and in", # type: text 
    `column9` = "in Abc and in ", # type: text 
    `column15` = "", #type: text 
    `column32` = "0" #type: tinyint(1) 
WHERE id = "36851" 


    Field Type Collation 
-------------------------- ------------------- --------------- 
id bigint(20) unsigned (NULL) 
column01 varchar(320) utf8_unicode_ci 
column02 varchar(1024) utf8_unicode_ci 
column03 longblob (NULL) 
. 
. 
. 
. 
column32 tinyint(1) (NULL) 
column33 tinyint(3) unsigned (NULL) 

무언가를 제안하십시오.

답변

0

더 많은 인덱스를 추가하면 삽입은 느리지 만 느리지 만 을 더 빠르게 선택합니다.

전체 테이블 정의를 나열 할 수 있습니까?

+0

내가 어떤 명백한 표시되지 않는 모든 BCNF 위

여기 NF의 짧은 소개를 당신이 더 많은 중복을 얻기 위하여려고되도록 FD 종속성을 잃어버린하는 becuase 단점 ...

있다 테이블 정의에 문제가 있습니다. 테이블에 몇 개의 행이 있습니까? 어떤 MySQL 버전? –

0

또한 데이터베이스 레이아웃이 업데이트에 효과적이지 않을 수도 있습니다. 테이블이 모두 상당히 커 보이기 때문에 다른 테이블로 분할하는 것이 더 좋을 수 있습니다 ...

귀하의 요구 사항에 가장 적합한 DB 디자인을 선택할 수도 있습니다. 업데이트가 많으면 BCNF 또는 네 번째 NF를 선택하십시오. 당신이 가장 좋은 경우에 선택하는 것보다 더 많은 독서를 가지고 있다면, 표준 정규 형식 인 DB가 주로 3NF가되어야합니다. http://en.wikipedia.org/wiki/Database_normalization#Normal_forms

관련 문제