PHP/MYSQL:记录用户未定义的可选数据并优化搜索的最佳方法是什么?

PHP/MYSQL:记录用户未定义的可选数据并优化搜索的最佳方法是什么?,php,mysql,Php,Mysql,我有一个带有固定列id、title、created..的表,但是我需要从用户那里输入一些可选数据,我不能定义一个指定列,但是我需要从其他用户那里搜索这些数据。最好的办法是什么 存储序列化数组 留下一些列选项( 示例:保留任意10列 opt1、opt2、opt3……) 创建一个新表(dataid、uid、key、value)并 为每个数据创建新行 数据类似于键:值对 记录用户未定义的可选数据并优化搜索的最佳方式是什么 早安肯定是3)。 存储序列化数组意味着依赖于一种语言(php、json等),不可

我有一个带有固定列id、title、created..的表,但是我需要从用户那里输入一些可选数据,我不能定义一个指定列,但是我需要从其他用户那里搜索这些数据。最好的办法是什么

  • 存储序列化数组
  • 留下一些列选项( 示例:保留任意10列 opt1、opt2、opt3……)
  • 创建一个新表(dataid、uid、key、value)并 为每个数据创建新行
  • 数据类似于键:值对

    记录用户未定义的可选数据并优化搜索的最佳方式是什么

    早安

    肯定是3)。 存储序列化数组意味着依赖于一种语言(php、json等),不可能通过sql进行选择。 2) 这是不好的,有几个原因;主要是,您在扩展和选择方面没有那么灵活。 创建一个元表(如3),这是一种既定的方法

    更新:3)必须改进一点:创建如下表:

    UID |键|值

    不是:


    UID | key _value

    第三种方法是最好的,因为您可以在数据库中轻松搜索,并且不必担心每个用户有多少个值