Mysql实现和效率查询多个字段

时间:2012-10-10 14:33:30

标签: mysql performance algorithm indexing

我想通过MySQL中的两个字段搜索表:

select * from table where  
90 < x and x < 100 and 
50 < y and y < 60

如果进行优化,此搜索的效率如何? O(日志(n))的?

它将实现什么类型的索引和算法? (如果使用标准的B树或哈希映射,我说它会是O(n.log(n))吗?)

由于

1 个答案:

答案 0 :(得分:1)

MySQL中的复杂性通常是如此难以预测,以Big-O表示法表达它几乎毫无意义。关于算法性能的计算机科学类型理论在这种背景下完全崩溃。

最大的问题是I / O开销,只要您需要进行任何类型的磁盘访问,就无法确定操作需要多长时间。它可能是几毫秒,也可能是几秒钟,具体取决于系统的负载情况。

通常,您应该通过基准测试来确定特定系统和配置的性能特征,即使这样,它也只会给您一个想法。

只有当整个工作集在内存中并且访问时间在所有相关数据中保持一致时,这些Big-O算法才有意义。