如何在处理超过二十万条记录时改善页面加载时间?

时间:2015-05-28 09:18:06

标签: postgresql zend-framework postgresql-8.4 php-5.4

我有一个包含251002个元素的数组,这些元素是特定父级办公室的子办公室。这是键值格式,其中office id为关键字,office name为值。 这是数组的格式。

  

阵列(
      [1] =>测试局1       [2] =>测试办公室2
      [3] =>测试办公室3
      [4] =>测试办公室4
      。
      。
      最多251002个数组元素
  )

此数组用作选择框的选项,其中inturn用于在添加用户时选择办公室。因此,在创建用户时,无论谁创建该用户,都需要从选择框中提供的选项中选择一个办公室名称。

我面临的问题是加载时间。页面加载需要花费大量时间,浏览器经常被挂起。那么,解决方案是什么?如何使用选择框中设置的所有选项快速加载页面? Autosuggest似乎是一个不错的选择。但是为了找到每个按键的匹配大小写,我需要解析包含这些200k行的同一子办公室表。

其他详细信息:
已执行查询

  

SELECT child.childoffice_id,child.childoffice_name FROM   child WHERE(child.parentoffice_id IN('11416','11876','11877','5742','5743','10053','3244','14620','13950','12772','18842 ','15346','5756','16149','17989','3687','15819','15384','10841','18069','10842','16416','17279', '18483','14386','16222','11858','16019','10963','13622','15569','15570','14840','16432','17102','15110 ','12249','16092','16260'))   AND(child.deleted = 0)AND(child.childoffice_status ='1')ORDER BY   child.childoffice_name ASC

“可以有任意数量的家长办公室”

查询执行详细信息:

  

总查询运行时间:14457毫秒   检索到251002行。

我正在使用zend framework 1.11postgresql 8.4作为后端

0 个答案:

没有答案