创建表属性 (
id VARCHAR(40),
输入 VARCHAR(16),
数据VARCHAR(2048),
主键(ID,类型)
);
这是我尝试运行的一般查询格式。一般的想法是“对象”具有唯一的 ID,然后像 javascript 对象一样具有键/值对。
选择 a1.id、a1.data、a2.data、a3.data、a4.data、a6.data
FROM 属性 a1、属性 a2、属性 a3、属性 a4、属性 a5
LEFT JOIN 属性 a6 ON (a6.id=a5.id AND a6.type = 'Foreign Id')
哪里 a1.id=a2.id
和 a1.id=a3.id
和 a1.id=a4.id
和 a1.id=a5.id
AND a1.type = '名字'
AND a2.type = '中间名'
AND a3.type = '姓氏'
AND a4.type = '时间戳'
AND a5.type = '计数'
AND a5.data = 'MY_ID'
在此查询'Foreign Id'中是一个可选属性。问题是我得到
SELECT 将检查超过 MAX_JOIN_SIZE 行;检查您的 WHERE 并使用 SET SQL_BIG_SELECTS=1 或 SET MAX_JOIN_SIZE=# 如果 SELECT 没问题。
我意识到我可以按照所说的去做,但是警告让我担心这个查询效率非常低。有没有更好的方法来制定查询?