понедельник, 1 августа 2011 г.

Re: PostrgeSQL в Rails

MS SQL, насколько я помню, при этом догадается просканировать индекс (index scan).

Некоторые версионники тоже умеют,
 SQL> alter table counting add constraint counting_pk   2  primary key (object_id);  Table altered.  SQL> analyze table counting compute statistics;  Table analyzed.  SQL> analyze index counting_pk compute statistics;  Index analyzed.  SQL> set autotrace on; SQL> select count(*) from counting;    COUNT(*)                                                                       ----------                                                                            41725                                                                         Execution Plan ----------------------------------------------------------                          0      SELECT STATEMENT Optimizer=CHOOSE (Cost=10 Card=1)                        1    0   SORT (AGGREGATE)                                                        2    1     INDEX (FAST FULL SCAN) OF 'COUNTING_PK' (UNIQUE) 

1 августа 2011 г. 9:33 пользователь Max Lapshin <max.lapshin@gmail.com> написал:
2011/8/1 Akzhan Abdulin <akzhan.abdulin@gmail.com>:
> Ну это как раз неверно. Большинство СУБД для получения COUNT(*) используют
> первичный или уникальный индексы, вернее, их статистики (однократное
> обращение к статистике).
> http://wiki.postgresql.org/wiki/Slow_Counting
>

Ты хочешь сказать, что MSSQL при COUNT(*) догадается выбрать
статистику по первичному ключу?

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

 Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
 Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
 Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
 
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

Комментариев нет:

Отправить комментарий