Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Help in selecting last n records

user887416May 28 2012 — edited Jun 4 2012
Hi All

I have the following tables in my database

CREATE TABLE MACHINE_M (
ID VARCHAR(20) NOT NULL,
NAME VARCHAR(20)
)

CREATE TABLE STG_READING (
ID VARCHAR(20) NOT NULL,
MACHINE_ID VARCHAR(20),
DATE_ID NUMBER,
TIME_ID NUMBER,
READING NUMBER
)

CREATE TABLE READING_DWR (
ID VARCHAR(20) NOT NULL,
MACHINE_ID VARCHAR(20),
DATE_ID NUMBER,
TIME_ID NUMBER,
READING NUMBER
)

CREATE TABLE DATE_DIMENSION (
DATE_ID NUMBER NOT NULL,
DATE_VALUE DATE NOT NULL,
DAY VARCHAR(10),
DAY_OF_WEEK INTEGER,
DAY_OF_MONTH INTEGER,
DAY_OF_YEAR INTEGER,
PREVIOUS_DAY DATE,
NEXT_DAY DATE,
WEEK_OF_YEAR INTEGER,
MONTH VARCHAR(10),
MONTH_OF_YEAR INTEGER,
QUARTER_OF_YEAR INTEGER,
YEAR INTEGER
)


CREATE TABLE TIME_DIMENSION (
TIME_ID NUMBER NOT NULL,
HOUR VARCHAR(3),
MINUTE VARCHAR(3),
SECOND VARCHAR(3),
INTERVAL NUMBER
)

Referential Constrains:-
STG_READING(DATE_ID)>>>>>DATE_DIMENSION(DATE_ID)
STG_READING(TIME_ID)>>>>>TIME_DIMENSION(TIME_ID)
MACHINE_M(ID)>>>>>STG_READING(MACHINE_ID)

READING(DATE_ID)>>>>>DATE_DIMENSION(DATE_ID)
READING(TIME_ID)>>>>>TIME_DIMENSION(TIME_ID)
MACHINE_M(ID)>>>>>READING(MACHINE_ID)



i will be getting the reading from the machine every 1min which i will be inserting into STG_READING table. the READING column must always be progressive.
so i have to validate the reading column from the staging with the last n records in the READING_DWR table.
selecting the last n records for a particular machine from READING_DWR table every time is causing performance bottleneck.

Can some one suggest me a way to improve the performance
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 2 2012
Added on May 28 2012
5 comments
426 views