SQL Производительность запроса: несколько столбцов - PullRequest
0 голосов
/ 05 августа 2020

Это может быть очень плохой запрос.

Например, у меня есть эта таблица

`TABLE1(pkid, fk1_tbl2, someid1_tbl2, someid2_tbl2, col5, col6)`

`TABLE2(pkid, someid1, someid2, col4_2, col5_2, col6_2)`

Это означает, что столбцы pkid, fk1_tbl2 проиндексированы

Вопрос 1:

SELECT * FROM TABLE1 WHERE pkid = 'SOMEID'

SELECT * FROM TABLE1 WHERE pkid = 'SOMEID' AND col5 = 'SOME_THING'

Предполагая, что эти двое будут возвращать один и тот же набор данных.

Тогда какой из них должен быть быстрее?

Вопрос 2:

SELECT * FROM TABLE1 T1 JOIN TABLE2 T2 ON T1.fk1_tbl2=T2.PKID WHERE T1.pkid = 'SOMEID'
SELECT * FROM TABLE1 T1 JOIN TABLE2 T2 ON T1.fk1_tbl2=T2.PKID AND T1.someid1_tbl2= T2.someid1 WHERE T1.pkid = 'SOMEID'

Предполагая, что эти двое вернут один и тот же набор данных. Тогда какой из них должен быть быстрее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...