2013-05-19 5 views
1

key1과 str_key 모두 고유하지 않은 키와 함께 1 억 개의 행이 2 개씩 있습니다. 다음 MYSQL 쿼리는 show engine innodb 상태에 따라 초당 약 80 읽기를 수행하며 아직 업데이트가 없습니다. 실행중인 다른 쿼리가 없습니다. mysql의 업데이트 조인 쿼리 속도 향상

 
update table_r r, table_w w set r.key1=0 where r.str_key=w.str_key 
  1. 는 조회가 완료 억/60> 1,000,000초을 수행하게 맞습니까?
  2. 어떻게하면 쿼리를 신속하게 최적화하여 최적화 할 수 있습니까?
+2

이미 모두 열쇠 열'table_r.str_key'와'table_w.str_key' –

+0

키 1과 str_key에 인덱스를 추가하려고, 그래서 그들은 – user121196

답변

0

쿼리가 느릴 때마다 먼저 WHERE 절에 언급 된 모든 열에 인덱스가 있는지 확인해야합니다.

0

테이블의 WHERE 절 필드를 색인화하고 테이블을 분할해야하는 1 억 개의 행이 있어야합니다. 제대로 수행하면 모든 쿼리가 훨씬 빠르게 수행됩니다.

documentation이 도움이 될 수 있습니다. 성능의 관점에서

메인 테이크 아웃은 MySQL의 5.1 분할 극적으로 성능을 개선하고 DBA 관리 부담을 완화하기 위해 많은 물리적 데이터베이스 설계에 사용할 수있는 강력한 도구이다. MySQL 파티셔닝에 대한 자세한 내용은 http://dev.mysql.com/doc/refman/5.1/en/partitioning.html에서 MySQL 포럼을 방문하십시오. 은 파티클 전용 섹션으로 http://forums.mysql.com/list.php?106에서 참조 할 수 있습니다.

+0

를 색인이 절은 두 키, 그래서 그들은 이미 색인이 곳의 열 , 권리? – user121196

+0

맞아 ... –