powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / select count vs Exists
7 сообщений из 7, страница 1 из 1
select count vs Exists
    #38866512
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FB 2.5.1 x32
где-то читал, что
Код: sql
1.
2.
3.
SELECT 1
FROM RDB$DATABASE
WHERE EXISTS(SELECT COUNT(*) FROM CLIENT)   


должно быть более эффективным чем
Код: sql
1.
SELECT COUNT(*) FROM CLIENT


т.к. в первом случае не будет выборки данных, а во 2-ом будет.

у меня получилась такая статистика:
1 - 52 чтения из кэша
2 - 44 чтения из кэша

Собственно, вопрос:
У меня что-то не так с экспериментом, или EXISTS на самом деле не уменьшает чтение из базы?
...
Рейтинг: 0 / 0
select count vs Exists
    #38866524
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747У меня что-то не так с экспериментом
Да, у тебя зачем-то COUNT() в подзапросе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
select count vs Exists
    #38866525
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Cobalt747!
You wrote on 29 января 2015 г. 12:37:06:

Cobalt747> SELECT 1
> FROM RDB$DATABASE
> WHERE EXISTS(SELECT COUNT(*) FROM CLIENT) цирк
на дроте

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
select count vs Exists
    #38866534
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747,

не верь тому кто это написал
...
Рейтинг: 0 / 0
select count vs Exists
    #38866538
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747,

тем более что запросы не эквивалентны. Первый всегда 1 вернёт
...
Рейтинг: 0 / 0
select count vs Exists
    #38866551
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747,

вот если бы ты вот так эксперимент проводил

Код: sql
1.
2.
SELECT IIF(EXISTS(SELECT * FROM CLIENT), 1, 0) AS n
FROM RDB$DATABASE  



то может быть, то фетчей будет меньше, если в CLIENTS записей больше 2ух, иначе COUNT выиграет
...
Рейтинг: 0 / 0
select count vs Exists
    #38867048
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот же ж я невнимательный!
Спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / select count vs Exists
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]