2016-08-17 2 views
-2

私はチェックする必要がある約20,000の郵便番号のリストを持っています。それらを配列としてPHPファイルに格納する必要がありますか?どのくらいのメモリを占有するだろうか?20k郵便番号の配列を含めるか、MySQLを呼び出す

または、データベーステーブルが存在するかどうかを確認するたびに毎回MySQLを呼び出す必要がありますか?どの方が速いの?私は最初のオプションが速くなければならないと思いますか?データベースへの接続だけでは、データベース呼び出しオプションが非常に遅くなる可能性がありますか?私は、すべての呼び出しでPHPファイルをインクルードすることでメモリの問題を少しでも心配しています。

+4

[あなたは自分で自分の体を整えて、配列がとる多くのメモリを使うことができます](https://nikic.github.io/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG .html)... 20000の郵便番号はメモリの___lot___を取ることになり、時間のかかる割り当てや割り当ての解除が必要です。データベースがはるかに効率的であることがわかります。インデックス付き –

+1

ベンチマークを実行します。 –

+2

"データベースへの接続だけでは、データベース呼び出しオプションが非常に遅くなることがありますか?"笑。私に休憩を与えてください。そうであれば、クエリキャッシングなどを調べることができます。 – developerwjk

答えて

2

データベースは、大量のデータを効率的かつ迅速に保存および検索するように特別に設計されています。すべてのPHPファイルに20,000要素の配列を配置すると、配列が使用されていなくても、すべてのページの読み込みが大幅に遅くなります。

+0

'SELECT COUNT(*)FROM zip_codes WHERE code =?'は索引付けが正しく行われていれば遅くなることはありません。私たちはたいてい0.1msを話しています。 – tadman