好的,我需要在某个条件下使用SELECT
从表中加载所有行,但是从该表的查询返回的行数超过2万,并且它将在未来远远超过它,因为它是存储所有数据的主表。我想过把它分解一下,但我相信它已经打破了目前可以分解的最佳方式。
基本上,我需要一种快速有效的方法将这些数据呈现给客户端。也就是说,所有的ROWS都是一次性的。我使用tr
元素在表格中输出这些行,并使用wordpress $wpdb
,如下所示:
$items = $wpdb->get_results("
SELECT qvi.ItemName AS name, qvi.TimeAdded AS created, qvi.EffectiveDate AS effective, qvi.VendorName AS supplier, qvi.Source AS source, qvi.Type AS type, qvi.PurchaseCost AS cost, qvi.SalesPrice AS price, IFNULL(qe.CustomerRef_FullName, 'N/A') AS customer, qvi.VendorListID AS vendorListID, qe.CustomerRef_ListID AS customerListID, qvi.ItemListID AS itemListID
FROM " . $wpdb->prefix . "quickbook_vendor_items AS qvi
LEFT JOIN " . $wpdb->prefix . "quickbook_estimates AS qe ON (qe.id = qvi.EstimateID)
WHERE qvi.IsActive = 1 ORDER BY qvi.ItemName ASC", ARRAY_A);
主要问题是,使用上述查询加载此表中的所有数据大约需要5分钟,而且,我需要一种更好的方法来执行此操作。想知道其他人是如何接近这个问题的,这个问题遇到了类似的问题,查询中的数据太多,以及他们如何输出这些数据?
基本上,我愿意接受任何有助于使客户获得更好体验的想法:部分加载?加载到jQuery插件或许? Ajax加载?以某种方式缓存数据?
实现这一目标的最佳方法是什么?为什么?