MySQL查询使用实例分析
下表my_tbl包含三个领域,A,B,和C;现在你需要查询的列B的记录下每一个表中的列的值不同。
例如,表记录是:
A B C
13'cd
23'nhd
15'bg
26'cds
17'kiy
37'vsd
38'ndf
希望结果如下:
A B C
13'cd
23'nhd
37'vsd
(1)一种方法是在每一个值下找到B的最小值,然后根据这些最小值查询所有满足要求的记录。
满足最小b值的SQL草图如下所示:
复制代码如下:选择A * my_tbl即A.B =(选择最小(B)从);
因为它是一个嵌套查询,并重叠了80万个案例记录,甚至一个小时没有中间结果(我想知道您错在哪里);因为记录卷在后面。
(2)上述方法是一种灾难,只能放弃。
具体的逻辑是:首先根据列A、B组,然后选择每组B值最小值的记录,生成结果集。
SQL语句如下所述:
代码如下:从A、B、C、计数(A)中选择A(从A、B、C选择);
在执行查询之后,只花了1.1秒。
再一次,SQL查询策略上的差异直接导致性能上的巨大差异。
更多对MySQL相关内容感兴趣的读者可以看到这个站点的主题:MySQL事务技巧摘要
希望本文能帮助您了解MySQL数据库仪表。