我有一个像这样的表,它有100万+行:
+----+----------+----------------+------------+
| ID | SSID | MAC | LOCATION |
+----+----------+----------------+------------+
| 1 | home_net | aa:bb:cc:dd:ee | Town North |
| 2 | fly-fi | aa:bb:cc:dd:ff | Town South |
+----+----------+----------------+------------+
我经常需要搜索具有给定位置的所有行。我有三个想法来构建数据,以便我可以根据位置进行过滤而不使用慢速" LIKE":
+-------------+-----------+ | LOCATION ID | PROBE_IDS | +-------------+-----------+ | 1 | 1 | | 1 | 2 | | 1 | 3 | | 1 | 4 | | 2 | 5 | | 2 | 6 | | 2 | 7 | +-------------+-----------+
这些选项或其他选项中的哪一个最适合构建数据,因为许多查询将按位置进行过滤。
答案 0 :(得分:0)
由于这是多对一的关系,我会使用选项#2,即外键。连接表更适合多对多关系。
对于像这样的短语,全文索引似乎太重了。它可能甚至不适用于许多位置,因为全文索引具有将索引的最小字长。