Страница 2 из 2

Добавлено: 29.01.2008 13:40:33
vital
Attid писал(а):
P.S. И велосипед изобретать не нужно Laughing


как отвечал ev в соседней ветки велосипед велосипеду рознь.

есть свои тонкости как и в среде так и в компании, за ссылки спасибо.

от туда стиль коментирования распешу, а форматирование надо будет все равно утилитой, а регстр можно в словарь запихнуть и его в свн запихнуть.


Дык, стандарт он потому и стандарт, что не свой у каждого:) ИМХО, форматирование и регистр - это просто неотъемлимая часть процесса кодирования, т.е. такие вещи должны выполняться на автомате. Я себя приучил и при наборе текста это само собой разумеется(самому же проще по своим же исходникам лазить:)). По-моему, если имеет место кодирование как попало и последующее интенсивное использование форматтеров, значит "в консерватории что-то поправить нужно"(с)

Добавлено: 29.01.2008 14:12:47
Attid
Дык, стандарт он потому и стандарт, что не свой у каждого

это я про велосипед отвечал, когда еще не прочитал что там за ссылки. тема же про правила програмирования а не форматированию кодеа, которое занимает одну строчку из правил .

так что на консерваторию попрошу не покушаться.

Добавлено: 31.01.2008 00:25:11
Deepthroat
10. не использовать * в запросах (select * from .. и даже select count(*))

Насчет select count не согласен. Его так и надо использовать:

Код: Выделить всё

SELECT COUNT(*)
FROM table_name
WHERE <predicate>;

Зачем тратить драгоценное время на проекцию? Это уже квадратное колесо выходит.

Добавлено: 31.01.2008 09:21:14
Padre_Mortius
А зачем тратить время на перебор всех полей если достаточно посчитать количество всех записей по одному полю????

Добавлено: 31.01.2008 11:06:27
Vadim
Padre_Mortius
COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля).

Добавлено: 31.01.2008 11:34:20
Attid
Vadim писал(а):COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля).


а ты знаешь что это разные вещи и вернет разные результаты ?

тогду уж лучше попробуй COUNT(1)

Добавлено: 31.01.2008 11:48:07
alexs
Насколько я помню теорию - COUNT(*) вобще не использует значения полей, т.е. не происходит обращение к данным, содержащим значение полей.
Выборка идёт только на уровне записей.

Добавлено: 31.01.2008 13:37:00
Padre_Mortius
Сорри. был не прав :oops:

COUNT(*) returns the number of items in a group, including NULL values and duplicates.

COUNT(ALL expression) evaluates expression for each row in a group and returns the number of nonnull values.

COUNT(DISTINCT expression) evaluates expression for each row in a group and returns the number of unique, nonnull values.

Взято из описания TransactSQL

Добавлено: 02.02.2008 20:17:00
Deepthroat
COUNT(*) будет разбираться быстрее, чем COUNT(имя_поля)

Первое вернет количество строк в таблице - то, что обычно и требуется получить. Второе, насколько я понимаю, вернет количество строк с не NULL в поле имя_поля? Ну так это разные вещи.

А если в count впихнуть все поля таблицы, то он будет действовать аналогично count(*) (надо проверить), но последнее быстрее, так как экономится операция проекции.

Добавлено: 03.02.2008 10:27:11
Attid
А если в count впихнуть все поля таблицы, то он будет действовать аналогично count(*) (надо проверить), но последнее быстрее, так как экономится операция проекции.

монописуально как и COUNT(1)

Добавлено: 02.03.2008 05:03:05
kik13
Sergei I. Gorelkin

>>Венгерскую нотацию (префиксы с типами) некоторые считают злом

Я бы сказал что ее сделали злом ;) Изначально она была придумана для того чтобы отличать правильный код от неправильного.

[url]http://ru.wikipedia.org/wiki/Венгерская_нотация[/url]
[url]http://local.joelonsoftware.com/mediawiki/index.php/Как_заставить_неправильный_код_выглядеть_неправильно[/url]