Разница между двумя выражениями sql count и subquery count - PullRequest
0 голосов
/ 14 сентября 2010

Есть ли большая разница в производительности между этими двумя операторами подсчета sql при выполнении большого подсчета (большое здесь означает 100k + записей)

first:

SELECT count(*) FROM table1 WHERE <some very complex conditions>

second:

SELECT count(*) FROM (SELECT * FROM table1 WHERE <some very complex conditions>) subquery_alias

Я знаю, что первый подход верен, но я хочу знать, будут ли эти утверждения выполнять аналогичные?

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Оптимизатор запросов, скорее всего, преобразует ваш второй запрос в первый.Между этими двумя запросами не должно быть ощутимой разницы в производительности.

0 голосов
/ 14 сентября 2010

Ответ зависит от используемой базы данных.для MS SQL оптимизатор запросов оптимизирует запрос, и оба будут иметь одинаковую производительность.Но для других систем баз данных это зависит от интеллекта оптимизатора запросов.

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