代码之家  ›  专栏  ›  技术社区  ›  Keyne Viana

如何从数据库中筛选这些数据?

  •  0
  • Keyne Viana  · 技术社区  · 15 年前

    “岩石;流行音乐;金属;“舞蹈”(瓦尔查尔)

    我需要生成一个excel列表与这些人按音乐品味分组。

    1. 一份名单上所有人都在摇滚;金属;舞蹈

    每个用户只能在一个列表中。 我需要这个列表导入我的通讯软件。每种类型都是一个邮件列表。

    我想知道哪种方法最好更快。

    附言:

    2 回复  |  直到 15 年前
        1
  •  2
  •   Scott Saunders    15 年前

    在我看来,您可以运行以下简单查询:

    SELECT * FROM table_name ORDER BY music_taste_field
    

    music_taste_field

    另外,正如其他人评论的那样,这是一种糟糕的存储音乐偏好的方法。

        2
  •  0
  •   Alex    15 年前

    另一个错误的数据库设计(今天也是一个类似的问题)。

    首先,对于将来的任何操作,数据库中的所有枚举都应该是独立的关系结构(例如表)。这样就可以很容易地创建这些列表,使用索引字段。

    现在,您将调用运行速度非常慢的字符串操作函数,而忽略索引,这将使您的查询执行速度慢大约100倍,并且数据不太可靠。这就是错误的数据库设计导致的。

    你当然可以用 find_in_set() 在用逗号替换分号之后,这是一种歪曲。
    最好的解决方案是,如果需要进一步的此类请求,则重新设计数据库。