|
|
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Цель быстро подсчитать реальное количество всех строк в БД. Вариант с num_rows from dba_tables , не подходит - нужно собирать статистику. Хинт parallel или что-то типа dbms_parrallel тоже не предлагать. Какие еще варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:00 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzusреальное количество всех строк в БД… никому нафиг не нужно, даже приблизительное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:05 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzus, пока ты читаешь результат запроса, количество строк может измениться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:08 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Elicmurzusреальное количество всех строк в БД… никому нафиг не нужно, даже приблизительное. Не скажи, только 2 дня назад выполняли подобную идиотскую просьбу вендора =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:10 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Добавить PK на таблицу, желательно по одному небольшому полю, если уже есть и скорость подсчета count не удовлетворяет то удовлетвориться этой скоростью либо использовать приблизительное значение (к примеру те же num_rows). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:18 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Taciturn12, Гранты только селективные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:21 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Taciturn12, авторЦель быстро подсчитать реальное количество всех строк в БД . .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:24 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Stax, Или в таблицах БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:26 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzus, Странной желание посчитать все строки .... Если это единоразовый запрос - запустите на выходные. Если это на постоянке будет - думайте про Primary Key для всех таблиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:26 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzus, приблизительный каунт select 10 * count(*) from T sample block (10); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:36 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, "думайте про Primary Key для всех таблиц" -А можно подробнее? Есть таблицы без PK, создавать их - нет грантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:38 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Вариант с count(*) в oracle самый медленный, лучше использовать count(1) - я предпочитаю, хотя по производительности от count(ID) и count(поле) сильно не отличается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:39 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
MaximaXXLmurzus, Странной желание посчитать все строки .... Если это единоразовый запрос - запустите на выходные. Если это на постоянке будет - думайте про Primary Key для всех таблиц зачем ПК (может і не быть) достаточно "not null" индекса если нет, напр create index i$t1 on t1(0); ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:49 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzusMaximaXXL, "думайте про Primary Key для всех таблиц" -А можно подробнее? Есть таблицы без PK, создавать их - нет грантов. Я так понимаю нет грантов у Вас. И я почему то уверен что Вы знаете ДБА у которых все же есть доступ с правами на создание PK. т.о. Вы пишете на них письмо (или как Вы коммуницируетесь) где просите создать PK для (список таблиц и полей) и проанализировать последствия (вот даже не представляю что у Вас за база) добавления. В письме указываете для чего Вам понадобились эти PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:50 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
orcl_1989Вариант с count(*) в oracle самый медленный, лучше использовать count(1) - я предпочитаю, хотя по производительности от count(ID) и count(поле) сильно не отличается. имхо легенда ps пользую * ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:51 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
MaximaXXLmurzusMaximaXXL, "думайте про Primary Key для всех таблиц" -А можно подробнее? Есть таблицы без PK, создавать их - нет грантов. Я так понимаю нет грантов у Вас. И я почему то уверен что Вы знаете ДБА у которых все же есть доступ с правами на создание PK. т.о. Вы пишете на них письмо (или как Вы коммуницируетесь) где просите создать PK для (список таблиц и полей) и проанализировать последствия (вот даже не представляю что у Вас за база) добавления. В письме указываете для чего Вам понадобились эти PK. как для чего, для подсчета к-ва записей по совету MaximaXXL .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 10:53 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Staxкак для чего, для подсчета к-ва записей по совету MaximaXXL .... stax ну не сам же ТС придумал себе задачу строки считать хотя и такие бывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:01 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
Кроме индексов ничего нет?( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:08 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, у меня первый скрипт с dbms_sql был подсчет строк в таблицах схемы (сам придумал) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:09 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
РК зачем городить? Можно обойтись rowid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:19 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
FogelРК зачем городить? Можно обойтись rowidА ты сравни ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:24 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzusКроме индексов ничего нет?( в чем проблема? долго? как часто считаете? СВО сам разберется где есть индекс - по нему посчитает, где нет - фулл скан таблицы можно хинт index/index_ffs указать, но надо ли ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:25 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
FogelРК зачем городить? Можно обойтись rowid Так,так... А можно подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:26 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
murzusFogelРК зачем городить? Можно обойтись rowid Так,так... А можно подробнее? зачем Вам ПК, ровид, достаточно fbi константы (напр 0) и права на создание индексов ps я ж привел пример ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:31 |
|
||
|
Как ускорить select count(*) from table
|
|||
|---|---|---|---|
|
#18+
orcl_1989Вариант с count(*) в oracle самый медленный, лучше использовать count(1) - я предпочитаю, хотя по производительности от count(ID) и count(поле) сильно не отличается. Где все? Elic? Фотошоп? Анонимус? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 11:41 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39524724&tid=1885148]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 505ms |

| 0 / 0 |
