Имя: Пароль:
IT
 
select count(*) против select count(some_field)
,
0 Wobland
 
06.12.12
07:02
нет чёткого понимания работы селекта, отсюда вопрос: что будет выполняться быстрее и почему? select *, конечно будет дольше, чем select some_field, хотя бы просто потому, что в первом случае нужно получить несколько полей. а с count почему без разницы? ну.. я подозреваю, что разницы нет
1 sda553
 
06.12.12
07:03
одинаково будет выполнятся, т.к. будет выполнятся одно и то же
2 Гефест
 
06.12.12
07:04
оно считает количество строк, и пофиг, сколько полей в тех строках
3 Wobland
 
06.12.12
07:05
(2) гы. всё просто?
4 spock
 
06.12.12
07:07
Повторяем, думаем:

IF OBJECT_ID(N'tempdb.dbo.#testtbl') IS NOT NULL DROP TABLE #testtbl
GO

CREATE TABLE #testtbl (id int NOT NULL, somefld int NULL)
GO

INSERT INTO #testtbl (id, somefld) VALUES(1, 100)
INSERT INTO #testtbl (id, somefld) VALUES(2, 200)
INSERT INTO #testtbl (id, somefld) VALUES(3, 300)
INSERT INTO #testtbl (id, somefld) VALUES(4, NULL)
INSERT INTO #testtbl (id, somefld) VALUES(5, 500)
GO

SELECT * FROM #testtbl
GO

SELECT COUNT(*) FROM #testtbl
GO

SELECT COUNT(somefld) FROM #testtbl
GO
5 YHVVH
 
06.12.12
07:10
нудный опсос
6 Undefined vs NULL
 
06.12.12
08:41
в общем случае результат разный
7 МихаилМ
 
06.12.12
08:52
(0)
select count(*) вернет колво строк
а
select count(some_field)  вернет кол-во не NULL значений

так что разница есть
8 Undefined vs NULL
 
06.12.12
09:03
и вот вам про NULL не в соединении

ВЫБРАТЬ
   КОЛИЧЕСТВО(Номенклатура.Ссылка) КАК Ссылка,
   КОЛИЧЕСТВО(Номенклатура.Артикул) КАК Артикул,
   КОЛИЧЕСТВО(*) КАК Всего
ИЗ
   Справочник.Номенклатура КАК Номенклатура
9 sda553
 
06.12.12
09:31
(4) А причем тут результат? Мы вроде другую тему тут сидим обсуждаем
10 Undefined vs NULL
 
06.12.12
09:36
(9) интересно какую?
11 sda553
 
06.12.12
09:38
(10) Что по времени быстрее выполниться из этих двух запросов.
12 Undefined vs NULL
 
06.12.12
09:39
(11) а смысл сравнивать разные по сути запросы?
13 sda553
 
06.12.12
09:40
(12) По плану выполнения они одинаковы
14 Undefined vs NULL
 
06.12.12
09:40
(13) ну и что?
15 sda553
 
06.12.12
09:42
(14) Ну вот и рассуждаем на эту тему. Хотя, собственно в (1) и (2) уже все отвечено
16 МихаилМ
 
06.12.12
09:42
(11)
завист от типа хранения данных таблицы.
либо от типа поля.

если типа хранения данных таблицы - поколоночный то выбор
одного поля (колонки) - быстрее

тоже если тип  image
он тоже отдельно хранится
17 spock
 
06.12.12
09:48
(9)так если результат не важен, то можно и таким запросом обойтись: SELECT 1 as Count
18 ДенисЧ
 
06.12.12
09:50
зависит от наличия индекса по полю some_field. Ваш. К.О.
19 sda553
 
06.12.12
09:50
А как хранение таблицы изменить? Вызываю storage в properties таблицы и не вижу ничего похожнего.
(17) Тут план будет содержать только select without query т.е. совершенно другой запрос
20 sda553
 
06.12.12
09:52
(18) Вызвал EEP. Опять одно и то же. Никакой разницы, есть там индекс или нет.
21 spock
 
06.12.12
10:20
(19)причем здесь план запроса? Результаты разные. Сравнивай красное с зеленым - та же категория.
22 sda553
 
06.12.12
11:20
(21) Какая трагедия, разный результат! У зеленого длина волны меньше.
23 akaBrr
 
06.12.12
11:29
(22) да вы клоун