Php 包含20k邮政编码的数组或调用MySQL

Php 包含20k邮政编码的数组或调用MySQL,php,mysql,Php,Mysql,我有一份大约20000个邮政编码的清单,需要核对一下。我应该将它们作为数组存储在PHP文件中吗?那会占用多少内存 或者我应该每次调用MySQL来检查它的数据库表,看看它是否存在?哪条路更快?我想第一个选择应该更快?单独连接数据库可能会显著降低数据库调用选项的速度?如果每次调用时都包含PHP文件,我只是有点担心内存问题。数据库是专门设计用来高效快速地存储和搜索大量数据的。如果在每个PHP文件中放置一个20000个元素的数组,那么即使没有使用该数组,也会大大降低每个页面的加载速度。。。。请注意,20

我有一份大约20000个邮政编码的清单,需要核对一下。我应该将它们作为数组存储在PHP文件中吗?那会占用多少内存


或者我应该每次调用MySQL来检查它的数据库表,看看它是否存在?哪条路更快?我想第一个选择应该更快?单独连接数据库可能会显著降低数据库调用选项的速度?如果每次调用时都包含PHP文件,我只是有点担心内存问题。

数据库是专门设计用来高效快速地存储和搜索大量数据的。如果在每个PHP文件中放置一个20000个元素的数组,那么即使没有使用该数组,也会大大降低每个页面的加载速度。

。。。请注意,20000个邮政编码将占用大量内存,所有这些都需要分配/取消分配,这需要时间。。。。您可能会发现数据库的效率要高得多,特别是如果它正确地建立了索引,“仅与数据库的连接就可能会显著降低数据库调用选项的速度?”哈哈,让我休息一下。如果是这样的话,你可以研究查询缓存或其他东西。如果你的列表是标签分隔文件或类似的文件,你可以做一个加载数据填充编辑:我认为这是@MarkBaker的想法。正如其他评论所指出的,你需要自己做一些工作。我会让它成为一个RESTful服务,并通过AJAX查询它,然后点击数据库,在textfield中输入两到三个字符onKeyUp(取决于邮政编码的长度)作为JSON对象返回所有具有该模式的邮政编码。然后,您可以使用javascript在更小的数组客户端上进行匹配。@tadman-20000个整数,每个整数存储在一个zval中,以及数组元素和数组本身的所有额外开销。。。这不仅仅是8k的整数数据,它更接近8MB的内存使用量,这并不是虚无缥缈的。。。。数组必须在zip上建立索引以提供任何好处(isset检查-O(1)-而不是在数组中使用-O(n)),并且部分搜索也将是O(n)以及zip代码中的
SELECT COUNT(*),其中code=?
如果索引正确,不会那么慢。我们最多只能说0.1毫秒。