ホームページ > バックエンド開発 > PHPチュートリアル > 同じレベルのデータ量: PHP データベース クエリとファイル クエリではどちらが速いですか?

同じレベルのデータ量: PHP データベース クエリとファイル クエリではどちらが速いですか?

WBOY
リリース: 2016-06-13 13:25:25
オリジナル
870 人が閲覧しました

同じレベルのデータ量: PHP を使用してデータベースとファイルを確認するのはどちらが速いか教えてください
PHP 関数 file_exists() でファイルが存在するかどうかを教えてください。データベースは?
前提として、データベースの場合、1 つのテーブルに 200 万行を超えるデータが含まれます (データ量は比較的多く、ファイルの場合は最終的には数千万行を超える可能性があります)。同じレベルのデータも含まれます。
関数クエリを使用する場合は、関数が存在するかどうかだけを知る必要があります。データベースにクエリを実行する場合は、関数を選択する必要があります。

アドバイスをお願いします。

---- --解決策--------------------

話し合う

プロパティが異なるため、比較はできません

効果の点でのみ
ファイル数が 1024 未満の場合、file_exists はデータベースよりも高速です

あなたの言ったことによると、次の場合ファイルの数が 200 万を超えると、これらのファイルを含むディレクトリにファイルを保存できなくなります。全く効率がありません

------解決方法---------
ファイルが存在するかどうかを判断する際には、この200万行以上のパスをループ判定します。
現在の比較は、
200 万以上の file_exists と 200 万以上の select です

file_exists 関数はキャッシュされます。 データベース orm 接続を検索し、複数回選択します

を選択する傾向があります
------解決策----------------------
ディレクトリ構造を計画している限り、次のようにする必要があります。問題はありません
ファイルは複数レベルのディレクトリに編成する必要があるため、ファイル内の接続を処理する必要があることに注意してください。
Windows ファイル システムについてはよくわかりません。例として: ファイルはハードディスク上にあり、ファイルはクラスターに保存されます。ファイルがどんなに小さくても、1 つのクラスター (4kb) を占有する必要があります。

その場合、200 万個のファイルには少なくとも 2M が必要になります * 4K = 8G スペース。
------解決策-----
データが何に入っているかわかりません。ほとんどの場合、データ自体は非常に揮発性が高く、
検索方法も知っておく必要があります。

データベースはさまざまなクエリをサポートしており、削除や変更も非常に便利です。

ファイルのこれらの側面 どちらもそれが得意ではありません、ましてやファイルの数が多すぎます....

"次のようになると思います: HTML はサーバー リソースの消費が確実に少ないため、すべてのデータベース ファイルを静的ファイル、つまり HTML ファイルです。
これが唯一の理由である場合、私は基本的に静的ファイルにする必要はないと考えています。

Web は静的な HTML から動的テクノロジー (php、など)、反対方向ではありません
逆方向に進むには通常、特別な理由が必要です
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート