Текущее время: Вс, июл 20 2025, 01:43

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 21 2006, 13:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Я, конечно, погорячился. В open sql все строки перебираются.

Но в mySQL, например, count(*) точно оптимизирован (начиная с версии x.x.x). Может знатоки Oracle и MS SQL меня поддержат.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 21 2006, 13:31 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
в оракл проверяли
перебирается

_________________
полный SAPец


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 21 2006, 15:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, ноя 17 2004, 18:38
Сообщения: 211
Откуда: МО
Пол: Мужской
sibrin написал:
Я, конечно, погорячился. В open sql все строки перебираются.

Но в mySQL, например, count(*) точно оптимизирован (начиная с версии x.x.x). Может знатоки Oracle и MS SQL меня поддержат.


Возможно для sql без условия where это и так, но если указывается некоторое ограничение... думаю в зависимости от условия перебор будет идти или по индексу или производится фуллскан таблицы (обычно решает оптимайзер).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 21 2006, 18:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Цитата:
но если указывается некоторое ограничение


Само собой. Даже если count( all_key_fields ) уже будет перебор.
Конструкция select count(*) в виде исключения относится не к DQL, а к DML.

В Oracle есть compute number, хотя в книге Oracle Press "Oracle9i. The Complete Reference" count(*) тоже встречается в примерах как метод подсчёта числа записей.

Раз уж в R/3 придумали Open SQL и скрыли DML и DDL ради совместимости, могли бы заодно оптимизировать select(*) как самое простое, что можно оптимизировать.

А вообще mySQL рулит, т.к. в нём поддерживаются тип таблиц MyISAM с фиксированной шириной строки (если все колонки фиксированы), а в R/3 очень многие таблицы и типы данных фиксированной ширины. В Oracle и MS SQL, вроде бы, не поддерживаются такие таблицы. А то что блокировки в MyISAM слабенькие SAP'у без раницы, посокльку на сервере приложений все блокировки реализованы. Может быть поэтому Maxdb базируется на mySQL.
(Побейте меня, если я не прав.)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB