这里有大约1百万条记录。需要查询来支持分页系统。
查询语句应该是这样的:
SELECT field1, field2, field3 FROM table
WHERE field4 = '$value'
ORDER BY field5 ASC limit $offset, 30;
字段4和字段5上有索引。
我听说:
创建另一个表(表6),它是表4的索引哈希?
搜索数字而不是文本会更快,因此查询类似于:
SELECT field1, field2, field3 Force
Index(Table6) FROM table WHERE field 6
= '$hashvalue' AND field4 = '$value' ORDER BY field5 ASC limit $offset, 30;
它应该能够在进行文本搜索之前消除99.99%的数据,并且无论偏移量如何,都应该加快您的查询速度。
我应该如何实现它?您能帮我理解这个例子中哈希表的思想吗?
index(field4, field5)
还是index(field4) index(field5)
? - knittlEXPLAIN
并查看查询执行计划是否不同。 - knittl