我有以下表A:如何避免全表扫描多重可搜索列查询?
id | col1 | col2 | col3 | ... | col66
-------------------------------------
999| 1 | 0 | 0 | ... | 1
所有列COLX是searcheable和有其中66这意味着创建有效的索引是不可能的(至少我想是这样)。
查询可以看起来像:
SELECT id FROM tableA WHERE col21=1 AND col31=1 AND col64=1
正如你看到的,我只需要与某些列被设置为“1”检索行。这组列可能会有所不同。你知道没有全表扫描的任何方法都很费时吗?我想我已经尝试了一切,但没有运气:-(感谢
这些查询真的很慢,或者你不能同意mysql使用全面扫描吗? – peterm
@peterm他们实际上很慢。我不介意全表扫描,如果表只有5行:-)在我的情况下,大约需要0.4+秒来执行查询,这是不可接受的。 –