2013-04-19 1 views
0

크기가 1MB에서 2MB 사이 인 파일을 가지고 있는데 (한 번에 하나의 파일이 필요함) fopen()을 사용하여 내 웹 사이트에로드하고 웹 사이트에 관련 정보를 표시하려고합니다. 내가 fopen()을 사용하여 파일을 열해야하는지 여부좋은 성능을 얻기 위해 대량의 데이터를 처리하는 방법은 무엇입니까?

  1. ,

    그래서 내가 더 나은 성과와 직결되는 옵션을 알고 싶어 : 나는 모든 지금이 파일을 읽을 후 파일 내에서 검색하고 정보를 표시해야 사용하십시오.

  2. 파일 데이터를 배열로 변환 한 다음로드하여 사용해야하는지 여부.

  3. 내가 모든 데이터를 MySQL에 삽입 한 다음 가져와 사용해야하는지 여부.

  4. 정보로드/가져 오기 및 다음 그것을 serialize하고 파일에 저장하고 모든 미래의 용도로 사용할지 여부.

또는 다른 옵션을 사용할 수 있습니다.

1000,Asther,Asther Path,0,50,,70,5,2,,5,FFF,7,2,,24,,45,,{ "is a good girl" },{},{} 
1001,Sinkn,Sinkn Keth,0,50,,70,,7,34,6,FFF,7,2,65,3,,67,,{ "Like flower" },{},{} 
+0

데이터에 대한 적절한 설명이 없으면 대답 할 수 없습니다. 그러나 대개의 경우 데이터베이스가 가장 좋은 옵션입니다. –

+0

데이터는 다음과 같은 약 30,000 줄입니다. 1000, Asther, Asther Path, 0,50,, 70,5,2,, 5, FFF, 7,2,, 24,, 45, "좋은 여자"}, {}, {} 1001, Sinkn, Sinkn Keth, 0,50,, 70,, 7,34,6,0xFFFFFFFF, 7,2,65,3,, 67 ,, { "Like flower"}, {}, {} –

+0

데이터베이스에 넣는 것이 좋습니다. 이 파일을 파일에 저장하는 특별한 이유가 있습니까? –

답변

1

만에서 데이터를로드 한 파일이있는 경우, 파일이 MySQL을보다 할 쉽게 :

데이터는 다음과 같이 주변에 30,000 선입니다. 파일의 배열 정의가 더 나은 옵션이 될 것입니다 (구문 분석/병합 해제 시간 단축).

파일 수가 많으면 디렉토리를 스캔하는 데 시간이 오래 걸리고 파일을 하나씩 차례로 검색합니다 (fopen). 파일을 배열/직렬화 된 데이터로 변환하는 데 많은 도움이되지 않습니다. 파일 조작 + 디렉토리 스캔은 MySQL보다 PHP에서 느립니다. MySQL은 데이터를 자동으로 인덱싱하므로 모든 복잡한 검색에 대해 PHP보다 더 뛰어납니다. 이 경우 MySQL이 더 좋은 옵션이 될 것입니다.

+0

예, 답장을 읽은 후 나는 MySQL과 함께 가야한다고 생각합니다. 고맙습니다. –

관련 문제