Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用PHP&;预加载整个MyISAM数据集;jSon?_Php_Json_Mysql_Myisam - Fatal编程技术网

是否可以使用PHP&;预加载整个MyISAM数据集;jSon?

是否可以使用PHP&;预加载整个MyISAM数据集;jSon?,php,json,mysql,myisam,Php,Json,Mysql,Myisam,比如说 假设我们在一个类别中有1000种产品。 我们希望通过这些产品进行过滤 当我们使用json过滤产品时。 每次我们都需要对数据库运行一个单独的查询 我们想知道是否有人知道是否有可能在products表中显示预加载。 例如,预加载栏:初始化搜索(0-100%) 因此,整个系统只会在加载时初始化一次,然后我们希望搜索结果可以是即时的 不幸的是,调整客户服务器对我们来说并不是一个真正的选择,所以希望这里有人能有更好的建议 提前谢谢 在PHP端,您可以将记录预加载到类似bucket的东西中 不过,我

比如说

假设我们在一个类别中有1000种产品。 我们希望通过这些产品进行过滤

当我们使用json过滤产品时。 每次我们都需要对数据库运行一个单独的查询

我们想知道是否有人知道是否有可能在products表中显示预加载。 例如,预加载栏:初始化搜索(0-100%)

因此,整个系统只会在加载时初始化一次,然后我们希望搜索结果可以是即时的

不幸的是,调整客户服务器对我们来说并不是一个真正的选择,所以希望这里有人能有更好的建议


提前谢谢

在PHP端,您可以将记录预加载到类似bucket的东西中

不过,我强烈怀疑问题在于数据库查询。json请求很可能需要很长时间

当然可以预加载所有值(即在一个大请求中获取它们)。您没有给出任何关于系统的细节,但它可能只是一个大的json请求

我看不到为Ajax请求实现进度条的任何简单方法。也许一个简单的“加载”动画也可以


您可能需要使用某种本地存储来跨页面持久化数据,这样数据才有意义。关于这一点,请参见

1000个数据集不需要查询太多,但它对于存储客户端来说是一个很大的数量。然而。。回答你的问题:

Javscript可以创建对象数组。比方说

<script type="text/javascript">
var products = new Array()
products[0] = {name:'First', price:29.99};
products[1] = {name:'Second', price:29.99};
products[2] = {name:'Third', price:29.99};
</script>

var products=新数组()
产品[0]={名称:'First',价格:29.99};
产品[1]={名称:'Second',价格:29.99};
产品[2]={名称:'Third',价格:29.99};
。。。通过php创建这些。也可以不使用{…}创建函数产品(名称、价格),然后调用
products[0]=newproduct(“first”,29.99)

进行此设置后,所有信息都存储在客户端浏览器中。因此,现在您可以仅通过javascript使用搜索/过滤器。 加载栏可以通过jqueryui整洁地完成。搜索涉及一个数组循环。 若你们有多个分类,你们可以在手之前分开,你们可以创建不同的数组,而不是把所有的东西都存储在产品数组中


祝你好运

很抱歉我延迟了回复,问题在于我无法使用memcached或客户端存储(googlegears)。您知道我可以使用另一种方法更快地进行较大的查询吗?从结果中生成的JSON数据非常小,因此我认为这不是问题所在。@AMW您应该明确地了解forst的瓶颈到底是什么。JSON数据可能很小,但如果您发出一千个请求,那么延迟将持续很久。在服务器端使用PHP分析器,在浏览器端测量响应时间(使用Firebug)。如果是服务器端,请查看mySQL查询缓存-如果您具有服务器的root访问权限。谢谢您的回答。我们正在优化我们的模块。目前所有处理都是通过PHP进行的。然后我们使用JavaScript启用和禁用过滤器。这是一个商业脚本,我们已经有相当多的客户,如果您有兴趣帮助我们优化我们的脚本,不用说,我们将能够为您提供我们的商业产品的免费许可证。我们不希望任何人在没有报酬的情况下与我们合作!如果您有兴趣帮助我们解决此问题,请发送电子邮件给我们的支持团队support@amwdesign.co.uk提前感谢!