gpt4 book ai didi

MySql Query Speed Confusion BETWEEN 或多个索引查询

转载 作者:行者123 更新时间:2023-11-29 03:08:56 25 4
gpt4 key购买 nike

我遇到了一种情况,我必须从表中选择一些行....

表格有点如下......

        id           Name          Age

0011 name1 45
0012 name2 67
.
.
.
.
0020 name10 100
.
.
.
.


// id is a primary key varchar(4).......
// name is varchar.....
// age is int.......

现在我需要获取范围内的值,例如 0011 - 00200020 - 0030.....我可以生成这个特定范围的开始和结束,我希望你不要考虑......

但我的疑问是

          Should I execute 10 SELECT queries based on the index values ?

例如:-

           for(i=0;i<10;i++)
{
//SQL Query to SELECT row WHERE id = '0011' LIMIT 0,1
// next time it id to select would be '0012'
}

           Should I include a single Query to SELECT ROWS using AND, OR , BETWEEN..etc..with limit 10..???

哪个更快....???

我在第一种情况下感到困惑,一次只选择了一行并且在每个查询中没有太多操作(其中 10 次请求是罪魁祸首),在第二种情况下,只使用一个 查询,但我相信使用比较运算符会在 varchar 主键上提供开销...... ..

最佳答案

真正的成本是解析和执行多个查询,而不是获取比您现在或可能需要的更多的数据。

鉴于您似乎在分页,就像一次得到十个一样,您应该一次选择一个完整的页面,中间有一个间隔。

有时查询优化器使用 >= Start and <= End 可能会做得更好比between start and end ,但除此之外我看不出问题,除非你的表非常宽(一行中有很多数据)

关于MySql Query Speed Confusion BETWEEN 或多个索引查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com