2011-06-29 3 views
2

メタタグ、タイトル、スタイルシート、スクリプトをPHP経由で各ページに追加していますが、ページごとに別々になっています(header.phpは普遍的です)フェンスには20以上のページの方が高速です。私は簡単に多次元配列にすべての値などを格納し、配列全体を返し、それに応じて各値を分配したり、データベースを照会することができますが、実際には最も速い結果が得られますか?それほど問題になるのはずっと遅いでしょうか?ユーザーは気付くでしょうか?すべての質問私はあなたが何を考えているかについて何の答えも持っていませんか?Faster-Arrayとは何ですか?

+8

メンテナンスして使用するのが一番簡単なものを選んでください。あなたがヒット数が膨大になるまで、いずれかの選択があなたのサイトに影響するかどうかは疑問です。早めの最適化はすべての悪の根源であることを覚えておいてください。 – GWW

+1

@GWW私はそれが97%悪いと思うほうがいいです;-) –

+1

常に、配列。あなたがデータベースを持っているなら、あなたのためにメモリに物をロードするのを待たなければなりません。データベースは、大量のデータ(100 MB以上)がある場合にのみ必要です。そうしないと、メモリがいっぱいになります。 – tjameson

答えて

5

データベースを数十ページに渡ってミックスすることはありません。そこに保存する必要があるコンテンツがたくさんある場合を除きます。以下を持って、あなたのheader.phpファイル内

<?php 
    $page = array(
    'title' => 'Index Page', 
    'styles' => array('reset.css', 'text.css', '960.css'), 
    'scripts' => array('jquery.js') 
); 

    include('header.php'); 
?> 

    <p>Page content here<?p> 

<?php 
    include('footer.php'); 
?> 

<title><?php echo isset($page['title']) ? $page['title'] : 'Default' ; ?></title> 
<?php foreach ($page['styles'] as $style) : ?> 
<link rel='stylesheet' href='<?php echo $style; ?>' /> 
<?php endforeach; ?> 

これは何の多くに適し得るむしろ、私は何をするだろうことは、テンプレートが含まれ、各ページに、アレイを構築であなたはやっていますが、物事がより重くなり始めるときには、間違いなく長期の在庫をデータベースソリューションに入れます。

+0

これは、多次元配列を使用するのではなく、素晴らしい解決策です。ありがとう! –

1

どちらもほぼ同じ速さのファイルシステムを使用するなどしている -

1)クライアントによって特定の名前のファイルにコンテンツを分離することによって、あなたに要求を必要としないことで)HTTPのキャッシュ機構

2を利用することができますアプリケーションロジック(またはアプリロジック+データベース)経由でルーティングされるため、I/O操作のオーバーヘッドが少なくなり、高速になります。

(Jonathan Sampsonの回答は、ファイルシステムにデータを格納するハイブリッドアプローチを使用していますが、ブラウザに別のグループを選択的に表示するというオプションがあります)。

ファイルシステムのストレージが適切でない場合や、配列対データベースのパフォーマンスについて考える場合がある、アプリケーション内の任意のデータ構造を操作する必要がある場合があります。 IMEでは、PHP配列は必ずしもDBより高速であるとは限りません。また、データプールのサイズが大きくなるにつれて、データベースの効率性が大幅に向上します(データベースの帯域幅が大きくなり、遅延も大きくなります)。より高速でスケーラビリティが高いかどうかを知る唯一の方法は、それを測定することですが、データセットが100項目未満であれば、配列はおそらくより高速になります。

関連する問題