优化子字符串sql查询 选择 *从桌子上 哪里 子字符串(用户名,1)>=“A” 和子字符串(用户名,1)140 高度单位为米*100='A' 和用户名1.4 高度(单位:米)小于1.7;

优化子字符串sql查询 选择 *从桌子上 哪里 子字符串(用户名,1)>=“A” 和子字符串(用户名,1)140 高度单位为米*100='A' 和用户名1.4 高度(单位:米)小于1.7;,sql,sql-server,Sql,Sql Server,加快查询速度的可能方法有哪些?它运行非常慢您可以优化的东西不多,但是 其中用户名>='A' 和用户名1.4 高度(单位:米)小于1.7; 因此,您将计算保存在用户名为“[A-C]%”的位置 将允许在用户名上使用索引(如果存在),而不是通过一个函数传递用户名,该函数总是会阻止它。我认为您的查询不会有很大的性能改进。 也许可以删除子字符串,但我只能这么想 WHERE username >= 'A' AND username < 'D' AND height_in_m

加快查询速度的可能方法有哪些?它运行非常慢

您可以优化的东西不多,但是

其中用户名>='A'
和用户名<'D'
和高度(单位:米)>1.4
高度(单位:米)小于1.7;

因此,您将计算保存在用户名为“[A-C]%”的位置


将允许在
用户名
上使用索引(如果存在),而不是通过一个函数传递
用户名
,该函数总是会阻止它。

我认为您的查询不会有很大的性能改进。 也许可以删除子字符串,但我只能这么想

WHERE  username >= 'A' 
  AND  username < 'D' 
  AND  height_in_meters  > 1.4 
  AND  height_in_meters  < 1.7;
选择
*从桌子上
哪里
用户名>='A'和用户名140
高度单位为米*100<170;
我在
C
之后添加了
Z
,因此以
C
开头的用户名也包括在内

WHERE  username >= 'A' 
  AND  username < 'D' 
  AND  height_in_meters  > 1.4 
  AND  height_in_meters  < 1.7;
select 
   * from table 
where 
   username >= 'A' AND username <= 'CZ' 
   and height_in_meters * 100 > 140 
   and height_in_meters * 100 < 170;