Что использовать, чтобы заменить MySQL знак равенства? - PullRequest
0 голосов
/ 21 марта 2020

Пример структуры таблицы, в этой таблице хранится запись заказов на вызовы такси, сделанные пользователями:

id            bigint        NO  PRI     auto_increment
create_time   bigint        NO  ""      ""
deal_time     bigint        NO  ""      ""
destination   varchar(35)   NO  ""      ""
driver_id     bigint        NO  MUL     ""
order_status  int           NO  MUL     ""
origin        varchar(35)   NO  ""      ""
reactive_time bigint        NO  ""      ""
user_id       bigint        NO  MUL     ""
amount        decimal(10,0) NO  ""      ""

Этот оператор SQL предназначен для запроса записей о поездках пользователя, но его нельзя запросить, если статус заказа 3, потому что это означает, что он был удален пользователем.

select *
from order_record 
where id > (select id from order_record where user_id = 100100 and order_status != 3 limit 1000,1)
and user_id = 100100
and order_status != 3
order by create_time desc limit 50

объяснение :

enter image description here

Теперь у меня есть два вопроса:

  1. Почему знак неравенства не вызвал полное сканирование таблицы?
  2. Есть ли лучший способ заменить знак неравенства?
...