>  Q&A  >  본문

php - MySQL 存储引擎

mysql 5.6以后,innodb和myisam 哪个查询数据更快。能不能给个证明。

高洛峰高洛峰2699일 전713

모든 응답(4)나는 대답할 것이다

  • 漂亮男人

    漂亮男人2017-05-16 13:07:44

    개인 테스트(MySQL 버전 5.7.18), 각각 60W 및 1W 레코드 테스트
    인덱스를 사용하면 MyISAM이 Innodb 쿼리보다 빠르며 차이는 작습니다.
    인덱스가 없으면 MyISAM은 Innodb 쿼리보다 빠르며 쿼리 속도의 차이는 약 1회

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-16 13:07:44

    많은 쿼리와 약간의 수정(업데이트 삭제 삽입) ==> MyISAM

    전체 텍스트 검색 지원, MySQL 버전은 5.5 미만 ==> MyISAM

    그 외의 경우에는 innodb를 이용해주세요

    주제 외:
    나를 포함해 대부분의 사람들은 게으르다. 인터넷에서 결론이 많은 것을 증명하는 데 시간이 걸리는 "Lei Feng"은 많지 않을 것으로 추정됩니다.
    관련 주제는 직접 검색해 보시고, 다른 분들과 비교한 내용도 많이 찾아보실 수 있을 거라 믿습니다. 이러한 결론에 대해 여전히 회의적이라면 스스로 조사해 볼 수 있습니다. 결국, 다른 사람들이 온라인에서 수행한 작업은 이전 버전의 mysql일 가능성이 더 높습니다. 벤치마크 테스트를 직접 수행할 수도 있습니다. 설득력 있는 벤치마크를 만드는 방법을 묻는다면 아마도 더 나은 질문일 것입니다.

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:07:44

    어느 쪽이 더 빠른지 직접적으로 말할 수는 없습니다. 하지만 인터넷상에서 쿼리하는 것이 더 빠르다고 생각하는 오해가 있다는 점은 언급할 가치가 있습니다. myisam一定要比innodb快,的确,当我们在对整个表不加以任何条件进行查询统计时,myisam的确要快一些,这是因为myisam在插入数据的时候会更新表的数据,当我们查询的时候,直接走的统计数量
    但是,一旦当我们给sql语句加入条件时,innodb并不一定会比myisam慢,因为此时都是走的磁盘索引,即使是面对第一种情况,我们也可以用一个总数跟进表来统计总数,所以,一般没有特殊情况的话,建议InnoDB

    회신하다
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:07:44

    그러나 두 엔진을 분석할 때 MYISAM은 INNODB보다 빠릅니다. 왜냐하면 INNODB가 SELECT를 수행할 때 MYISAM 엔진보다 더 많은 것을 유지해야 하기 때문입니다.
    1 INNODB, INNODB는 캐시되어야 하고 MYISAM은 인덱스 블록만 캐시하며, 중간에 스왑 인 및 아웃도 감소합니다.
    2. INNODB 주소 지정은 블록에 매핑된 다음 행에 매핑되어야 하며 MYISAM은 파일의 OFFSET을 직접 기록하며 위치 지정은 INNODB보다 빠릅니다.
    3.INNODB는 또한 MVCC 일관성을 유지해야 합니다. 비록 귀하의 시나리오에는 존재하지 않지만 여전히 MVCC(Multi-Version Concurrency Control) 다중 버전 동시성 제어를 확인하고 유지해야 합니다

    회신하다
    0
  • 취소회신하다