小编Nin*_*nse的帖子

如何在垂直设计的表格上实现搜索?

我有这样的表结构(垂直设计).我可以为每个用户提供无限数量的属性(例如:城市,电话等).

表:tbl_UserAttributes

???????????????????????????????????
| UserID ? FieldName ? Value      |
???????????????????????????????????
? 341    ? city      ? MyCity1    ?
? 772    ? phone     ? 1234567890 ?
? 033    ? city      ? MyCity2    ?
? 044    ? sex       ? M          ?
? 772    ? firstname ? MyName     ?
? ---    ? ---       ? ---        ?
???????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

我必须实现一个搜索功能,它应该输出我们为水平设计的表应用查询的行:

SELECT 
    FieldName 
FROM 
    tbl_UserAttributes 
WHERE 
    city='%Mumbai%' AND 
    sex='M' AND ...
Run Code Online (Sandbox Code Playgroud)

请不要让我改变数据库设计.

更新:目前,我有一个JOIN解决方案,非常慢,它有时会挂起服务器.任何替代方法?

mysql sql database

2
推荐指数
1
解决办法
320
查看次数

标签 统计

database ×1

mysql ×1

sql ×1