Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
AlexFF__|
murzus
пропущено...


SY по скорости одинаково, но уже одним select-ом . Спасибо.

Насчет одного селекта, вроде бы и правильно, но улыбает =)


А что улыбает? Хоть что-то удалось выудить из кучи лирики и вопросов на вопрос.
28 сен 17, 10:41    [20828453]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 995
murzus
AlexFF__|
пропущено...

Насчет одного селекта, вроде бы и правильно, но улыбает =)


А что улыбает?

Тебе селект в параметрах dbms_xmlgen‘а ни на что не намекает?
28 сен 17, 10:57    [20828521]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
проходил мимо...
murzus
пропущено...


А что улыбает?

Тебе селект в параметрах dbms_xmlgen‘а ни на что не намекает?

Ну тот-же count(*) , я не понял что вызвало улыбку.
28 сен 17, 11:04    [20828553]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 995
murzus
я не понял что вызвало улыбку.

понимание улыбающимся количества этих селектов.


murzus
SY по скорости одинаково, но уже одним select-ом
28 сен 17, 11:09    [20828567]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
[quot проходил мимо...]
murzus
я не понял что вызвало улыбку.

понимание улыбающимся количества этих селектов.


Да понял я сколько там селектов, я тестировал на схеме с 50 таб.
Про один селект, я говорил что не нужно ПЛСКЛ анонимный блок писать с лупом
Мне вот не смешно, что один ответ из всех комментов, и то не решает.
28 сен 17, 12:06    [20828746]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 355
AlexFF__|
murzus
пропущено...


SY по скорости одинаково, но уже одним select-ом . Спасибо.

Насчет одного селекта, вроде бы и правильно, но улыбает =)


и правильно улыбнуло
к-во будет посчитано не на момент старта селекта, а когда доберется до нужной таблицы
если грубо то результат будет не согласован

.....
stax
28 сен 17, 12:27    [20828804]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
Stax
AlexFF__|
пропущено...

Насчет одного селекта, вроде бы и правильно, но улыбает =)


и правильно улыбнуло
к-во будет посчитано не на момент старта селекта, а когда доберется до нужной таблицы
если грубо то результат будет не согласован

.....
stax

Откуда у вас информация что не будет согласован? Кто вообще сказал что там будут меняться данные?
Давайте абстрагируемся - пусть БД будет вообще простаивающая.
28 сен 17, 13:26    [20828933]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 355
murzus
Откуда у вас информация что не будет согласован? Кто вообще сказал что там будут меняться данные?
Давайте абстрагируемся - пусть БД будет вообще простаивающая.


мож я неправильно выразился

под несогласованностью я я имелл ввиду,
что если за время со старта и до начала count(*) конкретной таблички к-во строк в ней (табличке) поменяется (с коммит) то ето будет учтено

count(*) будет посчитан на момент старта SELECT COUNT(*) CNT ..., а не на момент SELECT OWNER, ...

конечно если "БД будет вообще простаивающая" то получим согласованный результат

......
stax
28 сен 17, 13:55    [20828998]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 333
Stax

конечно если "БД будет вообще простаивающая" то получим согласованный результат

......
stax


Получим стечение обстоятельств, такое же как и X залилось X удалилось.


murzus
А что улыбает? Хоть что-то удалось выудить из кучи лирики и вопросов на вопрос.


Я бы сказал по другому, люди хотели понять зачем чтоб предложить решение.
Похоже на одно "молодое дарование" которое доказывало мне что SQL убогий язык потому что не может суммировать 2 поля типа Date.
А на вопрос: А зачем их суммировать? В чем смысл?
Говорил: -Ну я так хочу, а он не может.

Посему я думаю что многие хотели Вам помочь, предложить оптимальное решение, но не могли понять для чего это надо ...
28 сен 17, 14:40    [20829090]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 4811
MaximaXXL,

А ты не молодое дарование?
По впечатлением примерно в прошлом году закончил универ.
28 сен 17, 14:55    [20829149]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
MaximaXXL
Member

Откуда: Киев
Сообщений: 333
dbms_photoshop,

А чем, извините, навеяно такое впечатление?
28 сен 17, 15:03    [20829172]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 4811
MaximaXXL,

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

Я могу ошибаться.
28 сен 17, 15:16    [20829240]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
dbms_photoshop
MaximaXXL,

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

Я могу ошибаться.


Можно сразу было указать немощному вариант (иди в поиск, или учись писать запросы)? Зачем засорять эфир и тратить время?
28 сен 17, 16:14    [20829478]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 4811
murzus
Можно сразу было указать немощному вариант (иди в поиск, или учись писать запросы)? Зачем засорять эфир и тратить время?
Я стараюсь не отвечать, если пациент необучаем, но иногда таки влезаю в топик, как сделал в этом случае. Каюсь.
28 сен 17, 16:35    [20829554]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
dbms_photoshop
murzus
Можно сразу было указать немощному вариант (иди в поиск, или учись писать запросы)? Зачем засорять эфир и тратить время?
Я стараюсь не отвечать, если пациент необучаем, но иногда таки влезаю в топик, как сделал в этом случае. Каюсь.

И как вы определяете, что пациент не обучаем?
28 сен 17, 16:53    [20829638]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 4811
murzus
dbms_photoshop
пропущено...
Я стараюсь не отвечать, если пациент необучаем, но иногда таки влезаю в топик, как сделал в этом случае. Каюсь.

И как вы определяете, что пациент не обучаем?
Я думаю мыслящий человек способен был бы в гугле написать хотя бы oracle count from,
потом походить по ссылкам и понять что все уже обсуждено тыщу раз.

При наличии минимального мышления человек мог бы упростить задачу. Есть текстовый файл, можно ли посчитать число пробелов (или ,например, переносов строк) не читая весь файл. Ответ был бы - можно если один раз это число сохранить во вспомогательной структуре и потом поддерживать при изменениях в файле.

Ну и так далее, если вопрос примитивен, тыщу раз обсуждаля и легко гуглится, то ТС скорее всего необучаем.
С другой стороны понятно что всегда будут утверждающие что count(*) быстрее count(1) или наоборот.

К сообщению приложен файл. Размер - 22Kb
28 сен 17, 17:03    [20829685]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
MaximaXXL
Stax
конечно если "БД будет вообще простаивающая" то получим согласованный результат

......
stax


Получим стечение обстоятельств, такое же как и X залилось X удалилось.


murzus
А что улыбает? Хоть что-то удалось выудить из кучи лирики и вопросов на вопрос.


Я бы сказал по другому, люди хотели понять зачем чтоб предложить решение.
Похоже на одно "молодое дарование" которое доказывало мне что SQL убогий язык потому что не может суммировать 2 поля типа Date.
А на вопрос: А зачем их суммировать? В чем смысл?
Говорил: -Ну я так хочу, а он не может.

Посему я думаю что многие хотели Вам помочь, предложить оптимальное решение, но не могли понять для чего это надо ...


Вы вероятно лучше поняли суть вопроса, чем дбмс_фотошоп, но все равно не до конца.
Это нужно просто для того чтобы быстрее считать реальное количество строк в таблицах чем count(*) from table. Не знаю как еще проще объяснить.
28 сен 17, 17:19    [20829756]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27290
murzus
Это нужно просто для того чтобы быстрее считать реальное количество строк в таблицах чем count(*) from table. Не знаю как еще проще объяснить.
Подсчёт ради подсчета - это и есть необучаемость.
28 сен 17, 17:24    [20829775]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
murzus
Member

Откуда:
Сообщений: 24
Elic
murzus
Это нужно просто для того чтобы быстрее считать реальное количество строк в таблицах чем count(*) from table. Не знаю как еще проще объяснить.
Подсчёт ради подсчета - это и есть необучаемость.


Профит во времени на больших базах.
Переформулирую вопрос: нужно запрос который отработает быстрее чем select count(*) from table , и тоже вернет количество строк в таб.
28 сен 17, 17:33    [20829818]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27290
murzus
Профит во времени на больших базах.
Переформулирую вопрос: нужно запрос который отработает быстрее чем select count(*) from table , и тоже вернет количество строк в таб.
Что в лоб что по лбу: зацикленность на неправильно выбранном способе решения какой-то непонятной задачи да и ещё с претензией на всеобщность "задачи".
28 сен 17, 17:39    [20829839]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
xtender
Member

Откуда: Мск
Сообщений: 4509
murzus,

будет здорово если укажете в своем резюме: считал количество строк во всех таблицах базы данных.
28 сен 17, 19:10    [20830035]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5422
murzus
нужно запрос который отработает быстрее чем select count(*) from table

Актуальную статистику и num_rows в dba_tables не предлагать.

В чистом виде:
- Штурман, приборы!
- 42!
- Что 42?
- А что приборы?

Что уж там мелочиться-то, обвешайте всю базу триггерами на after insert/delete on each row и truncate. Пусть каждый чих записывает +/- 1 или "признак сброса данных" в одну е#$эпическую таблицу.

Потом практически одним sum() group by получите свой результат.

Сударь, раскройте же уже общественности смысл этого "точного" подсчёта звёзд на небе и песчинок в океане!
29 сен 17, 09:53    [20830878]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5422
mishga
Ну еще вариант, завести регистровую таблицу с двумя столбцами (имя таблицы, кол-во строк) и прицепить к каждой таблице а БД триггер

Хм, уже предлагали.
Не заметил при прошлом прочтении топика.
29 сен 17, 09:56    [20830890]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 8624
env
mishga
Ну еще вариант, завести регистровую таблицу с двумя столбцами (имя таблицы, кол-во строк) и прицепить к каждой таблице а БД триггер

Хм, уже предлагали.
Не заметил при прошлом прочтении топика.


Ну да, наплевать что INSERT/DELETE в любую таблицу будет сериализирован. Наплевать что deadlock пойдет. Зато count будет быстрый .

SY.
29 сен 17, 14:10    [20831759]     Ответить | Цитировать Сообщить модератору
 Re: Как ускорить select count(*) from table  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27290
SY
Ну да, наплевать что INSERT/DELETE в любую таблицу будет сериализирован. Наплевать что deadlock пойдет. Зато count будет быстрый .
Соломон, складывается впечатление, что ты ржёшь не над потугами ТС.
29 сен 17, 14:20    [20831796]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / Oracle Ответить