我有一张像
+----+----------+----------+---------+
| ID | ParentID | IsSource | Value |
+----+----------+----------+---------+
| 1 | 1 | 1 | Car |
| 2 | 1 | 0 | Coche |
| 3 | 2 | 1 | Car |
| 4 | 2 | 0 | Auto |
| 5 | 3 | 1 | House |
| 6 | 3 | 0 | Hogar |
| 7 | 4 | 1 | Bus |
| 8 | 4 | 0 | Autobus |
+----+----------+----------+---------+
但是有 160 万个条目
我喜欢获取包含相同值但不同 ID(或 ParentID)的条目,并且仅适用于具有“IsSource = 1”的条目为此,我在同一个表中使用了 INNER JOIN 语句
SELECT seg1.ParentID , seg2.ParentID FROM tblSegment seg1
INNER JOIN tblSegment seg2 ON
seg1.Value = seg2.Value AND
seg1.ID!= seg2.ID
WHERE seg1.isSource = 1 and seg2.isSource = 1
尽管我已为所有字段编制索引,但出现内存不足错误,但我使用了上述查询的许多变体,结果相同
有没有其他方法可以在合理的时间内获得预期的结果?