sudhakarthikeyan Ответов: 2

Разница между count (*) и count (1) в SQL server


разница между count(1) и count(*) с примером.

Что я уже пробовал:

разница между count(1) и count(*) с примером

Christiaan van Bergen

Чувак, серьезно? http://lmgtfy.com/?q=count(1)+и+граф(*)

2 Ответов

Рейтинг:
2

Member 12904962

нет existe una diferencia entre estos dos tipos de consultas

выбирать считать(*) y граф(1) => son iguales, es decir si tenemos una tabla con 5 registros en los dos casos nos va dar 5.

create table #tabla (student varchar(50), id int)
insert into #table (student,id)
values('Camila',1111)
     ,('Andres',2222)
     ,('Maria',null)
     ,('Jose',null) 
     ,('Pedro',3333)

select count(*) from #tabla
-- result 5

select count(1) from #tabla 
-- result 5

select count(id) from #tabla
-- result 3


espero poder ayudarte...


Maciej Los

По-английски, пожалуйста...

Рейтинг:
1

Wendelius

Раньше было время, когда важно было то, что у тебя внутри COUNT или какое выражение вы использовали в EXISTS структура.

В старые времена оптимизатор не всегда был достаточно умен, чтобы исключить извлечение строки, если в таком выражении использовался столбец. Это приводило к ненужной операции ввода-вывода диска или памяти в таблицу, когда сами данные не имели отношения к запросу.

Однако это было время как раз перед тем, как динозавры вымерли, поэтому любой современный оптимизатор признает эту ситуацию и понимает, что не нужно извлекать фактическую запись. Я могу себе представить, что есть некоторые продукты баз данных, которые находятся на ранних стадиях и страдают от таких проблем, но если мы говорим о основных базах данных, то ответ прост: никакой разницы.