Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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/MySQL_Php_Mysql_Database_Logic_Storage - Fatal编程技术网

存储-逻辑/性能-PHP/MySQL

存储-逻辑/性能-PHP/MySQL,php,mysql,database,logic,storage,Php,Mysql,Database,Logic,Storage,好的,这是一个标准用户表 全名|生日|电子邮件|用户名|密码| Facebook | MySpace | Twitter | LinkedIn 这没什么不寻常的,这是一本相当标准的教科书。然而,它可以像这样存储,而不是为每个网络存储多个社交网络列 全名|生日|电子邮件|用户名|密码|社交 不同之处在于,信息将作为内爆数组存储在social列中,而不是存储在单独的列中。这是非常明智的,因此如果有成千上万的用户,那么通过脚本处理肯定会更快,对数据库的影响也会更小 有人能想到使用建议的方法而不是教科书

好的,这是一个标准用户表

全名|生日|电子邮件|用户名|密码| Facebook | MySpace | Twitter | LinkedIn

这没什么不寻常的,这是一本相当标准的教科书。然而,它可以像这样存储,而不是为每个网络存储多个社交网络列

全名|生日|电子邮件|用户名|密码|社交

不同之处在于,信息将作为内爆数组存储在social列中,而不是存储在单独的列中。这是非常明智的,因此如果有成千上万的用户,那么通过脚本处理肯定会更快,对数据库的影响也会更小


有人能想到使用建议的方法而不是教科书方法的缺点吗?

我能想到的两个缺点:

  • 查询特定于某个用户的社交详细信息将更加困难。如果您知道他们的Facebook用户名是fbuser123,那么您可能需要从像“%fbuser123%”这样的社交用户那里查询类似于
    SELECT*的内容
  • 一旦从数据库中选择了该信息,使用该信息就会稍微困难一些,例如:要求在使用该字段之前对其进行
    json\u解码
  • 除此之外,我想不出别的了


    我可以想象,如果您这样做,最有效的数据存储方式将是文本格式和
    json\u编码
    数据。

    不错,创建一个单独的表“social\u affiliations”