|
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) да вы клоун
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |