powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос про partition
10 сообщений из 10, страница 1 из 1
Вопрос про partition
    #32162107
Artfil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица разбитая на партиции по полю дата. Диапазон даты в партиции 1 год. Есть запросы которым нужен диапазон меньше года и логично бы побить на партиции по месяцу. Но запрос по нескольким месяцам
select * from table1,table2 partition(month1) union select * from table1,table2 partition(month2)
работает очень долго.
Выиграю ли я от применения субпартиций по месяцу и как будет выглядеть запрос для диапазона в несколько месяцев?
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162111
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a pochemy, sobstvenno, tak
select * from table1,table2 partition(month1) union select * from table1,table2 partition(month2) ??

select * from table1,table2 where date_column in (year1, year2, etc..)
ne rabotaet??

I skol'ko rows u tebya budet v new partition?
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162121
Artfil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select * from table1,table2 where date_column in (year1, year2, etc..)
А где тут ключевое слово partition.
В классике запос выглядит так
select * from table1 partition(month1) where etc.. а для нескольких партиций я нашел только union

В новой партиции по месяцу у меня будет по 500000 записей
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162127
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ne ponyal, pri chem tut
'А где тут ключевое слово partition.'..
A index tvoigo polya ne znaet, gde kakaya partition?
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162132
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE TABLE "M5_SUMMARY" ("START_D_T" DATE NOT NULL,
"M_CYCLE" VARCHAR2(2 byte) NOT NULL, "BC_DATE" DATE NOT
NULL, "CATEGORY" VARCHAR2(30 byte) NOT NULL, "CUSTOMER_GROUP"
VARCHAR2(40 byte) NOT NULL, "RATEPLAN" VARCHAR2(30 byte) NOT
NULL, "TMCODE" NUMBER(15), "SERVICE_DESC" VARCHAR2(5 byte)
NOT NULL, "ZN_SHDES" VARCHAR2(5 byte) NOT NULL, "ZP_DIGITS"
VARCHAR2(18 byte) NOT NULL, "REMARK_CODE" VARCHAR2(10 byte)
NOT NULL, "CHARGE_IND" NUMBER NOT NULL, "TRANS_NUM" NUMBER,
"DURATION_CALL_LENGTH" NUMBER, "DURATION_RATED_LENGTH" NUMBER,
"CHARGE_DURATION" NUMBER, "AIR_CALL" NUMBER, "AIR_CHARGE"
NUMBER, "BEFORE_CREDIT" NUMBER, "COLLECT_AMOUNT" NUMBER,
"ENT_DATE" DATE, "CREDIT_IND" VARCHAR2(10 byte))
PCTFREE 15 PCTUSED 85 INITRANS 50 MAXTRANS 255
STORAGE ( FREELISTS 1 FREELIST GROUPS 1)
NOLOGGING
PARTITION BY RANGE ("START_D_T")
SUBPARTITION BY LIST ("M_CYCLE")
(
--
PARTITION "P2001"
VALUES LESS THAN (TO_DATE(' 2001-01-01 00:00:00',
'SYYYY-MM-DD HH24:MI:SS',
'NLS_CALENDAR=GREGORIAN'))
PCTFREE 15 PCTUSED 85
INITRANS 50 MAXTRANS 255 STORAGE ( INITIAL 256M NEXT 280M
MINEXTENTS 50 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1)
LOGGING
( SUBPARTITION BC_01_P200106 VALUES ('01'),
SUBPARTITION BC_02_P200106 VALUES ('02'), etc
..
enable row movement;

V select dobavitsya
where M_CYCLE in ('01','02','03'...)::

select * from M5_SUMMARY where
TRUNC(START_D_T,'YYYY') = trunc(md,'YYYY')
and
M_CYCLE in ('01','02'
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162147
Artfil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал
select * from table1,table2 where date_column in (year1, year2, etc..)
*
Invalid column name
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162149
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A chto takoe ",table2 "?
...
Рейтинг: 0 / 0
Вопрос про partition
    #32162666
Artfil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Упростил до
select * from table1 where date_column in (year1 etc..)
все равно "неправильное имя столбца" у меня 8.1.6
...
Рейтинг: 0 / 0
Вопрос про partition
    #32163096
Artfil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну я так и не понял можно ли в 8.1.6 делать операции DML над НЕСКОЛЬКИМИ партиционными таблицами и несколькими партициями в одном запросе? Все примеры что я видел сводились к:
select * from table1 partition(е1)
...
Рейтинг: 0 / 0
Вопрос про partition
    #32163133
Mergen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я знаю, оптимизатор сам смотрит нужные партиции. Поэтому достаточно указать нужный диапазон(без проедложения Partition)

Например так

select *
from tab1
where date1 between somedate and somedate2;
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос про partition
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]