我是PHP和Linux的新手。 MySQL和我正在创建的一个函数需要访问一个大型表或数据库。我已经创建了数据库,它目前在MySQL表中,我正在访问它没有问题。该表长度为11,000行,有8列(所有文本长度小于8个字符) - 它是静态的,永远不会改变。如果不太具体,我的用户将点击一个按钮,触发脚本访问数据,比如500次或更多。因此,一般来说,更好的做法是将所有这些数据包含在我的脚本中的大“切换”或“if ... then”条件权限中,而不是打开和访问数百个,甚至数千个数据库连接?看起来这可能是一个等待发生的瓶颈。谢谢!
答案 0 :(得分:2)
最好消除500次访问。你为什么需要它?通常我们使用数据库通过单个查询进行任何计算
答案 1 :(得分:1)
在你的情况下,我会保留数据库,但是在脚本开始时将整个内容加载到内存(数组)中。如果您想稍后进行优化,可以使用非常简单的延迟加载方案,在请求中读取一批数据。也许有关于可以请求哪些行的提示。但要保持简单!
答案 2 :(得分:1)
在阅读您的问题时,似乎可能有很多空间用于计算改进。应用程序必须在如此大量的数据集上执行此类操作的情况很少见。
但是,有一点需要注意的是,拥有11,000行的数据库实际上相当小。您的数据的总和应该是相当微不足道的(3个字节[最大] * 8个字符* 8个字段* 11,000行= ~2 mb)。考虑在程序运行之前将数据库预加载到内存中,并使用它而不是直接数据库访问。它应该以这种方式运行得更快。