2012-09-18 3 views

답변

3

무엇이 있습니까? 데이터베이스입니까? 어딘가에서 데이터를 저장하고 다시 검색 할 수있게 해주는 프로그램입니다. 데이터베이스는 이러한 데이터를 파일 어딘가에 저장합니다. MySQL은 일반적으로 데몬으로 실행됩니다. 해당 데몬에 접속하여 데이터를 요청하십시오. 이 데이터의 출처는 완전히 MySQL에 달려 있습니다. 여러 번이 데이터를 RAM에서 검색 할 수 있습니다. 은 파일을 열고 거기에서 읽는 것보다 훨씬 덜입니다. 데이터가 RAM에 이미 존재하지 않으면 다음에 파일에서 데이터를 검색합니다.

그래서 질문이 잘못되었습니다. MySQL 어떤 시점에서 파일에서 데이터를 가져옵니다. 그것은 이 아니며, 반드시 "훨씬 저렴"이 아닙니다. RAM에 데이터를 보관하는 데이터베이스에서 가져 오는 것이 더 낫지 않을 수도 있습니다.

0

물론입니다. 하지만 Memcache 또는 APC을 사용해야합니다. 이렇게하면 만료 시간을 가질 수 있습니다. 뿐만 아니라 관리자 패널에서 무언가를 업데이트 할 때 다음 번로드시 해당 내용을 새로 고치기 위해 지정한 특정 키를 삭제할 수 있습니다 (DB를 누르고 다음 업데이트 또는 만료까지 저장)

+2

RAM 디스크를 사용하는 것이 더 좋습니다 :) – jondinham

1

MySQL은 일반적으로 기본값 당 쿼리 (쿼리 캐시)에 대해 일부 캐싱 방법을 사용하고 있습니다. ...

소스를

가 MySQL은 기본적으로 이미 파일에서 데이터를 검색하는 외에 (전체 데이터베이스) 하나의 파일이 될 수있는 테이블 엔진에 따라 다름), 그래서, 물론 그 캐시는 메모리에 저장됩니다 http://dev.mysql.com/doc/refman/5.0/en/query-cache-configuration.html

0

당신의 문서 저장소, 오히려 다음과 같은 관계형 데이터베이스로 MySQL을 사용하는 경우,있는 오른쪽 '일 SELECT * FROM 경우 ID = 123' 빠른 경우 'file_get_contents ("123로 기록 될 수있다. 데이터 ") '

데이터베이스로 MySql을 사용하는 경우 그런 다음 '% doe %' '와 같은 이름이'모든 파일을 열고, 이름 필드를 확인하고, 일치하면 결과에 추가, 다음 파일 '을 선택하십시오. 데이터의 양이 적다면 훨씬 느려. 또한 PHP에서 관계형 데이터베이스를 작성할 때 어떤 종류의 join-like 연산이든 두통이 될 수 있습니다.

0

데이터베이스가 아닌 파일에서 데이터를 검색하는 것은 저렴하지 않습니다. 데이터베이스의 데이터는 파일에도 저장되지만 최적화 된 방법으로 검색이 훨씬 빠릅니다. 여기에 나는 파일과 데이터 소스가 같은 머신에 있다고 생각하고있다. 두 경우 모두 검색은 입출력 경계입니다.

제대로 캐시하려면 APC 또는 Memcached를 사용해야합니다. APC는 로컬 캐시 (응용 프로그램 구성, 언어 상수 등 저장)로 사용할 수 있지만 memcached는 별도의 캐시 (사용자 정보, 세션 등)로 사용할 수 있습니다.

또한 MySQL 쿼리 캐시를 사용할 수 있습니다. 과도한 쓰기가 많은 애플리케이션 인 경우 btw는 좋지 않습니다. 또한 쿼리 캐시 뮤텍스를 기다리기 때문에 쿼리 캐시가 응용 프로그램에 너무 많은 쓰기가있는 경우 쿼리가 지연 될 수 있습니다.

관련 문제