首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初学者PHP / mySQL问题

初学者PHP / mySQL问题
EN

Stack Overflow用户
提问于 2010-03-15 22:36:11
回答 3查看 101关注 0票数 1

我是一个全新的PHP & MySQL新手,我正在创建的一个函数需要访问一个大表或数据库。我已经创建了数据库,它当前在一个MySQL表中,我正在访问这个表,没有任何问题。表的长度是11,000行,有8列(所有文本长度都小于8个字符)-它是静态的,永远不会改变。简单地说,我的用户会点击一个按钮,触发脚本访问数据,比如500次或更多次。因此,一般来说,在我的脚本中包含一个大的“switch”或“if...then”条件中的所有这些数据是不是更好的做法,而不是成百上千次地打开和访问数据库连接?只是看起来这可能是一个等待发生的瓶颈。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-15 22:41:52

在您的例子中,我将保留数据库,但在脚本开始时将整个内容加载到内存(数组)中。如果您想在以后进行优化,您可以使用一个非常简单的延迟加载方案,即按请求读取一批数据。也许有一些关于哪些行可能被请求的提示。但要保持简单!

票数 1
EN

Stack Overflow用户

发布于 2010-03-15 22:50:03

最好去掉那500次访问。你为什么需要它?通常,我们使用数据库通过单个查询来执行任何计算

票数 2
EN

Stack Overflow用户

发布于 2010-03-15 22:48:23

在阅读您的问题时,似乎有很大的计算改进空间。应用程序必须对如此庞大的数据集执行如此多次的操作,这是很少见的。

但是,需要注意的一件事是,包含11,000行的数据库实际上相当小。数据的总和应该是微不足道的(3个字节最大值*8个字符*8个字段* 11,000行=~2MB)。考虑在程序运行之前将数据库预加载到内存中,并使用它来代替直接数据库访问。这样应该会运行得更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2447860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档