fix: avoid filter slow when filter not exist value

This commit is contained in:
yihaoDeng 2023-02-27 16:03:49 +08:00
parent c13cea4f44
commit d9f8a84a55
1 changed files with 51 additions and 4 deletions

View File

@ -7,7 +7,7 @@ print ======== step0
$dbPrefix = ta_3_db
$tbPrefix = ta_3_tb
$mtPrefix = ta_3_mt
$tbNum = 100
$tbNum = 500
$rowNum = 20
$totalNum = 200
@ -26,9 +26,10 @@ endi
print =============== create child table
$i = 0
$val = 1
while $i < $tbNum
$tb = $tbPrefix . $i
sql create table $tb using $mtPrefix tags( $i , $i , $i , $i , $i );
sql create table $tb using $mtPrefix tags( $i , $i , $i , $i , $val );
$i = $i + 1
endw
@ -49,6 +50,7 @@ endw
sql create index ti2 on $mtPrefix (t2)
sql create index ti5 on $mtPrefix (t5)
print ==== test name conflict
#
@ -120,6 +122,53 @@ while $i < $tbNum
$i = $i + 1
endw
# test special boundary condtion
print ===== test operator low on ti5
# great equal than
sql select * from $mtPrefix where t5 < 0 ;
if $rows != 0 then
return -1
endi
print ===== test operator lower equal on ti5
# great equal than
sql select * from $mtPrefix where t5 <= $val ;
if $rows != $tbNum then
return -1
endi
print ===== test operator equal on ti5
# great equal than
sql select * from $mtPrefix where t5 = $val ;
if $rows != $tbNum then
return -1
endi
print ===== test operator great equal on ti5
# great equal than
sql select * from $mtPrefix where t5 >= $val ;
if $rows != $tbNum then
return -1
endi
print ===== test operator great than on ti5
# great equal than
sql select * from $mtPrefix where t5 > $val ;
if $rows != 0 then
return -1
endi
print ===== test operator great on ti5
# great equal than
sql select * from $mtPrefix where t5 > $val + 1 ;
if $rows != 0 then
return -1
endi
sql drop index ti5
print ===== add table after index created
$interval = $tbNum + $tbNum
$i = $interval
@ -130,8 +179,6 @@ while $i < $limit
$i = $i + 1
endw
print ===== add table after index created (opeator great equal than)
# great equal than
$i = $interval