php - 一个查找表,存储在 MySQL 或 PHP 中

标签 php mysql performance lookup

我对存储在 MySQL(独立表)或 PHP(数组)中的查找表之间的性能有疑问,所以这是我的数据(以数组形式)

$users = array(
array(name => 'a', address => 'abc', age => '14'),
array(name => 'b', address => 'def', age => '12'),
array(name => 'c', address => 'ghi', age => '13'),
array(name => 'd', address => 'jkl', age => '14'),
array(name => 'd', address => 'mno', age => '11'),
);

这是Facebook平台上的游戏,可能有机会多人同时访问。

实际上,表应该有~100行,但是所有数据都是静态的,如果所有数据都存储在MySQL中,我可以轻松地进行任何“选择”,考虑到对MySQL的查询太多,因此我考虑存储在php数组中,但是,我不知道如何在特定条件下选择行(我知道它应该有其他方法而不是for循环),就像选择所有age = 14到另一个数组中一样。

那么,哪一个的性能更好呢? (MySQL 还是 PHP 查找表?)

最佳答案

如果你知道:

  • 数据始终是静态的
  • 您只有 100 行
  • 您只会在查询中使用简单的单字段匹配
  • 您永远不需要连接等高级功能
  • 您将获得高流量

...那么我肯定会把逻辑放在纯 PHP 中。 “删除不必要的数据库查询”始终是提高性能的第一步,我认为,仅仅因为不想编写简单的 foreach 循环而将这些简单的行放入 MySQL 中是一个坏主意。 。这太过分了。如果您使用像 APC 这样的操作码缓存(您就是这样,对吧?)那么我认为性能比较不会很接近。 (尽管我总是建议您亲自对它们进行实际基准测试以确保确定。)

class Users
{

    protected $_users = array(
        array('name' => 'a', 'address' => 'abc', 'age' => '14'),
        array('name' => 'b', 'address' => 'def', 'age' => '12'),
        array('name' => 'c', 'address' => 'ghi', 'age' => '13'),
        array('name' => 'd', 'address' => 'jkl', 'age' => '14'),
        array('name' => 'e', 'address' => 'mno', 'age' => '11')
    );

    public function select($field, $value)
    {
        $list = array();
        foreach ($this->_users as $user) {
            if ($user[$field] == $value) {
                $list[] = $user;
            }
        }
        return $list;
    }

}

$users = new Users();
$list = $users->select('age', 14);

关于php - 一个查找表,存储在 MySQL 或 PHP 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5052121/

相关文章:

php、ajax、html 选择元素

php - fatal error : Call to a member function fetch_assoc() on a non-object

mysql - 哪个 MySQL JOIN 适合这个?

mysql - 与 Spark 兼容的 Hive 版本

mysql - 如何从 MySQL 架构获取最新消息?

MySQL (Percona 5.7) 使用 InnoDB 引擎的 ALTER 表速度慢...?

javascript - javascript中表单提交的返回方法

php - 使用 Laravel 和 Css 将单个或多个图像或 div 作为一个整体居中对齐

php - MySQL 连接不工作

php - 如何使用庞大的 MySQL 数据库加速 PHP 脚本