Indexes on columns with only "Y" and "n".

Our transaction table has about 100 mn lines. Of these latter on 60 minutes the lines are not actively used.

We have composite index on multiple columns, including dates, and these are used to regular queries.

Will be adding a status = 'y' or ' don't column and the creation of an index on this column is useful to increase the performance of the query?

For example, will add a condition like

OÙ......... AND ACTIVE_FLAG = 'Y '.

help increase the performance of queries?

Creating such a column and adding a help index?
What type of clue do you recommend?

The alternative advocated by some members of the staff is the archiving of INACTIVE lines in a separate table. This will have a big impact on business processes. But we might be able to pull it off.

Is there another solution.

I am a beginner full performance although I am familiar with PL/SQL and queries.
I'm on the constraints of very tight timetable for the first level of back. I'll have more time as soon as I know the direction in which to go.

Forgive me if I broke a tag forum. I'm new on the forum too.

Thanks for providing this information. This gives a much clearer picture of what you are facing.

I will try to give you my answer your questions afterwards.

You have indicated your data volumes have steadily increased and performance made that decline.
Even if you do not say (I forgot to ask) but it may be that the number of users increases as and.
so typical, many users use the system of the time.

For me it's indicative of a systemic problem. In other words, the problem is not due to a
a thing or a part of the system.

There are two main components of a server: the instance and the database. This link sums up the difference
between the two - and here is a link to recent forum
for reference Re: difference between Oracle Instance and Database.

To paraphrase, an instance includes background processes and structures of memory (SGA, PGA, etc.)
Oracle uses.

The symptoms you describe could mean that your instance is more configured size not set correctly
for your current workload are originally strain throughout the system. Maybe the memory is too limited.
Maybe your sorts are growing with addional data.

I suggest that you start the new thread to ask for help in the evaluation and optimization of your instance. Use this
as a starting point:
Question/title - how to evaluate the State of health / instance and tune

Our facility has a problem of increasing return.

How can we collect and provide assessment of workload and configuration information, so you can help determine
possible solutions such as: memory sizing, temp and segment again sizing, sort the issue.

Statement of the problem
1 oracle Version is? ?. ?. ?

2. gradually return was degrading with more and more data. The UI response suffers and
batch processing is also in hours. We expect volumes to only continue to grow.

3. the volumes have continued to increase over the years and gradually performance issues
accumulate over the past 2 years. Data volumes began to increase faster
last year 1 due to changes in the company.

4. the data in OLTP system is a combination of assets of 40% and 60% relatively inactive (financial history).

5. a complete system near-live replecation on several sites. In my opinion, using streams.

6. notice of the tech team is a few tables have too many lines. We know that our demands can be suboptimal.


Now to your question:
1. I do not know the index on the existing columns are not fully exploited. In the meantime can but, we still get some benefits from adding
a 'Y' and the null column? What will be improved?

It is unlikely the benefits you need. It's putting the cart before the horse. The first step is to identify a specific problem.
Only then can examine you and evaluate solutions. for example by adding a new column or index.

There are several reasons, this isn't the right solution; certainly not at the moment
A. any new column and index, BY DEFINITION, maybe even this does not use except if one or more current
queries are changed. This is obvious since no existing query could possibly refer to a column that does not exist.

(B) to try to obtain the Oracle to use the new index column / single lease request must be changed.

C. in my opinion, you should never modify a query of production without knowing which allows to obtain the amendment
a well-defined objective. You must evaluate the current execution plan to identify what changes, IF ANY,
can improve performance.

D. it can be and given your systemic problem is likely to be, some ripe fruit on the performance. That
is that there may be ways to tune the query to use existing indexes or add a new index on an existing column
improve things.

E. assuming that none of the above does the work adding a new column and an index to identify
a 40/60 split (40% of assets) is unlikely to be used by Oracle (see response of Centinui).

2. notes that this calculation 'Y' is not negligible. I can easily reproduce this with a WHERE condition on the existing columns. We can have
to run a batch on the weekend to check row groups and mark them as 'Y '. So it is not only the advantage of indexing on 'Y', but also some benefits of prior calculation.
Given this info doing now more logic to have a 'Y' and the null column?
My answer is no – there is no sense to have a Y/N Y/NULL column.

A. certainly not for reasons of performance - as noted above above it is unlikely help

Certainly not for commercial reasons.
The calculation of your "non-trivial" is to demonstrate a business rule: identify groups of lines that have earned.
If you perform this calculation, the result must be saved significantly. One way is to create a new
column called 'DATE_NETTED_OUT '. This column name have meanings, and can be used as a boolean DATE/NULL type. This
It would be much better that Y/NULL which is not really enter the business sense of the value.

3 partitioning speed up queries on the minutes 40 active and slow queries on the full 100 minutes?
Probably not to have one influence on the other. Allocation decisions are usually made to ensure easier data management and often
have little, if any, a performance impact. All existing applications are unlikely to accomplish the any
differently just because the table is partitioned. There are exceptions of course. If you partition on DATE
and an existing query has a DATE filter, but there is no index on the DATE column, it will do a full table scan
of the whole picture. If the table is partitioned on this DATE column that oracle would probably make a partition full
Scan just the 40% or 60% of the table according to the value DATE. It would be so much faster.

But if there is already an index on the column DATE I do not expect the performance to change much. It comes
just speculation since it is based on data, the factor of grouping the data, and the existing queries.

1. I still need to a particular column of partion, I do not?
Yes, you do. Unless you use HASH Partitioning that don't really benefit your use case. You too
says that "...". staff advocate is the archiving of INACTIVE lines in a separate table "."
Partitioning can be used as part of this strategy. Partition by MONTH or by QUARTER on your
new column "DATE_NETTED_OUT." Keep 1 or 2 years of data online as you do now and when a partition
becomes more than 2 years you can 'transport' it to your archiving system. This is part of the partition
management, which I mentioned earlier. You can simply disconnect the oldest partition and copy it to archive.
This will not affect your applications other than the data not being is not available.

2. "adds a column' or ' cut-and - paste lines of table created by copy" the worst idea?
I don't know what that means.


It is premature to consider alternatives until you know what the problems are. Only then you can try to
determine the applicable solutions.

I do it in this order:

1. upgrading to a newer version of Oracle you are on an older (you said 9i which is not
longer supported)

2 assess the health and configuration of your instance. You may be able to significantly improve things
by adjusting the parameters of configuration and instance. Post a new question, as previously mentioned. I don't
have the expertise to advise you in details on that and the gurus tuning of the Forum the Forum can
not to notice this thread (indexes on columns with only 'Y' and 'n') than even know you need help.

3. identify the ripe fruits for performance problems. Is this one of your batch process? An individual
request? You mentioned UI soon - that could be a problem of front end, middle tier or application
not a database one.

4. don't it make changes architecture (add columns) until you have tried everything first.

Tags: Database

Similar Questions

  • Sometimes a web page is displayed with only text and no picures. It is not always the same site and is not always the case. If I'm going to explore for the same website that always works

    Sometimes a web page is displayed with only text and no picures. It is not always the same site and is not always the case. If I'm going to explore for the same website that always works


    Also try a Ctrl + F5 refresh. This allows to bring the content of the page again.

  • Dear Sir, I am facing problems with my creative packeger office, I chose to deploy IT, PS and Adobe Dc Pro on some of our clients, but installation is arrived with only HE and PS. What is the problem? Thank you

    Dear Sir, I am facing problems with my creative packeger office, I chose to deploy IT, PS and Adobe Dc Pro on some of our clients, but installation is arrived with only HE and PS. What is the problem? Thank you


    Acrobat is what we call an 'exception' and needs a slightly different steps to install.

    The following document gives details on the deployment of both DC and XI of Acrobat since a CCP package versions.

    Using creative cloud | Deployment of Adobe Acrobat

  • text field with only letters and spaces

    Hello everyone, I am a newbie to livecycle designer and now I have a very confusing issue. I am trying to create a field named "last name." I wish she accepts only letters and spaces - you know, some names have two words with a space between them - and does NOT accept the figures. I tried to define the schemas of the tabled text, but he did not have a solution. Can someone tell me please how to do? Thank you.

    BTW, how to import a drop-down list to an XML file? I created an XML file below as taught in the help file:

     <item uiname="MasterCard" token="MC"/>
     <item uiname="Visa" token="VS"/>
     <item uiname="Eurocard" token="EC"/>
     <item uiname="Special Card" token="SC"/>

    then I tried to bind a list with her, but it does not work.

    Thank you

    Place the following code in the text box's change event...

    If (xfa.event.change.match (/ [A - Z\ \a-z]/) == null)
    XFA. Event.change = "";

    Thank you


  • Find columns with only NULL values

    I have a list of tables around 30 in number. Among them i need to generate a report with Table Name and Column Names, for which all values are NULL.
    In other words, i need to find all the columns for which all the values are NULL.
    I thought of dealing it with cursors, and comparing the total count with null count in each column. But i need to loop "Number of columns" times. Is there any better way to do this?

    If your statistics are up to date, you can use the datadictionary:

    select tab.table_name
    ,      tab.num_rows
    ,      col.column_name
    ,      case
             when tab.num_rows = col.num_nulls then '*100% NULL*'
             else to_char(col.num_nulls)
           end num_nulls
    from   user_tab_columns col
    ,      user_tables tab
    where  col.table_name = tab.table_name
    and    tab.num_rows > 0
    and    tab.table_name IN (YOUR_TABLE NAMES)
    order by tab.table_name, column_id;

    Set the query for your needs.

  • How can we have a column with the text and radio button in the same row?


    I have a column that need to have data with a radio button. Has been able to achieve this by using < trh:tableLayout >. But when I select the option button it moves to the next line. You want to stop this behavior of option button to move to the next line. This column also includes a hyperlink. If the text and the hyperlink are made invisible visible based on the action of the radio button.
    Adding one more doubt. A horizontalgrid of specific columns can make invisible?
    Any help would be appreciated.

    example code:
    < trh:cellFormat id = "cf8" halign = 'Start' >
    < af:activeOutputText value = "#{rank." Actions}"id ="aot2"/ >
    < af:goLink text = ' #{rank. " Actions}"id ="gl1 ".
    clientComponent = "true" visible = "false".
    targetFrame = "_blank" destination = "http:// + #{rank." BUTTON_URL} ">"
    < / af:goLink >
    < af:selectBooleanRadio text = "" id = "sbr1" > "
    < af:clientListener method = "selectCheckBox" type = "click on" / >
    < / af:selectBooleanRadio >
    < / trh:cellFormat >

    Thank you

    Remove the components from . Put the other components like the direct children of the PanelGroupLayout:


    If you need to add some space between the components horizontan, you can put (s) between components.


  • Need help with div floating and clear property

    Link to page

    Link to the CSS file

    I have the site currently configured as a site of 3 columns and everything works fine.  I need to do a few pages as a 2 column page with the left column with only several "leftcolumn" div piled on each other so that there are several sections of box rounded in the left column.

    I have the leftcolumn div is floated left with a clear left for the left div column to stack on each other.

    The by rightcolumn is floating right.

    How can I get my right column to align with the top of the first leftcolumn div?

    It is not always necessary to float each column.  A float is usually enough for a 2-column layout.

    Where you have this:

    Width: 620px;
    float: right;
    color: #FFFFFF;
    do-family: Verdana, Arial, Helvetica, without serif.
    color: #FFFFFF;
    do-family: Verdana, Arial, Helvetica, without serif.
    padding: 10px;
    border: 3px solid #5f605f;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -Opera-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    background-color: #858586;
    do-size: 12px;
    margin: 10px;

    Change it as follows:


    / * REMOVE IT * /.

    Width: 620px; 
    float: right;
    color: #FFFFFF;
    do-family: Verdana, Arial, Helvetica, without serif.

    color: #FFFFFF;

    do-family: Verdana, Arial, Helvetica, without serif.
    padding: 10px;
    border: 3px solid #5f605f;
    -moz-border-radius: 20px;
    -webkit-border-radius: 20px;
    -Opera-border-radius: 20px;
    -khtml-border-radius: 20px;
    border-radius: 20px;
    background-color: #858586;
    do-size: 12px;

    / * REMOVE THIS * /.

    margin: 10px;

    / * ADD THIS * /.

    margin left: 350px;  / * adjust as needed * /.

    Nancy O.
    ALT-Web Design & Publishing
    Web | Graphics | Print | Media specialists

    Post edited by: Nancy O.
    Scratched do not work in the forum.  I edited the code for most sense.

  • Column with Global filter selector


    I have the selector column with: week, month and quarter. I used the in the PivotTable.

    I want to interact this column with global filter selector.

    For example:

    When I choose "Time". "' Week ' I want to put the global filter: DAY_NUM_OF_WEEK = 7

    choose "Time". "" Month "-> DAY_NUM_OF_MONTH = 31

    choose "Time". "' Area '-> DAY_NUM_OF_QUARTER = 90

    How can I do this?

    Maybe I can create the formula (perhaps with BOX WHEN) in the global filters, but how can I refer to the selection week/month/quarter column?

    You will need something a little more complex for the filter as there must always be a condition similar to SQL...

    Then you can try a filter as:

    (' @{Sun} {xxx} "="Month")


    DAY_NUM_OF_MONTH = 30)


    (' @{Sun} {xxx}' = 'Quarter')



    (Just to be sure: this is a filter that you want to use in your criteria tab in the filter box, right?)

  • How to update a column with 7 inputText on earpiece popupClose box

    12.1.3 JDev

    On the popup close listening port column on the home page is not refreshing.

    In the home page, I have a column with inputText 7 and a link (all are within the same column).

    When you click on the link, I'll open a popup.

    Popup close listener I am affecting certain values the inputText 7.

    but Popup close column is not refreshing.

    I tried to link partialTrigger with the inputTxt boxes but did not work.

    Also tried to make the main provision of the Panel including the inputTextbox group are surrounded, but not refreshing.

    Thank you.

    No difference if you call bindCreateTable.resetStampState () before programmatic refresh?


  • Fill a column with Ajax in tabular form


    I have the following problem.

    A tabular presentation, created with the wizard and not with apex_item, has a certain LOV column with different values and attributes of the element the following call:

    1 onChange = "javascript:f_getPV(#ROWNUM#,_this)";

    The column that needs to be filled has ID = f10

    function f_getPV (pRownum, pInput) {}
    get var = new htmldb_Get (null, & APP_ID., 'APPLICATION_PROCESS is getPV', 0);
    get.addParam ('x 01', pInput.value);
    gReturn = get.get ();
    $("f10_000"+pRownum).text (gReturn); SPAN id

    The application process (On Demand) looks like:

    lv_pv_sk number: = apex_application.g_x01;
    number of lv_cost_amt;
    Select dc.cost_amt
    in lv_cost_amt
    Since DC default_cost
    where 1 = 1
    and dc.power_value_sk = lv_pv_sk
    and dc.valid_till is null;

    When NO_DATA_FOUND then
    lv_cost_amt: = 0;
    When TOO_MANY_ROWS then
    lv_cost_amt: = 0;
    HTP. PRN (lv_cost_amt);

    Unfortunately, I don't have any population for the f10 ID column.

    Any ideas?


    What HTML tag is than f10? If it is a box entry or text you cannot use jQuery text() function.
    Something like this might work then

    $s("f10_000"+pRownum, gReturn);

    Kind regards


  • An update on an index column with the same value generates an index to the top

    An update on an index column with the same value generates an update of the index?

    Thank you

    In addition to my previous answer, see also

    Riyaj Shamsudeen has this to say:
    "+ We have an index on this column v1 and we update this column indexed too." Oracle was updating the indexed column? N ° if the values match the level of the indexed column, then the code of RDBMS isn't up-to-date index, a feature for optimization again. Only the row of table is updated, and the index is not updated. + "

    Hemant K Collette

  • Table with fixed header and the left column

    I created a table in my application with the fixed left column (left most column is fixed and remaining columns are scrolling from left to right). is it possible to create a table with fixed position and fixed left column?

    Suppose there are 50 rows and 10 columns in my paintings, and only 3 columns and 15 rows are visiable on the screen

    (1) when the user scroll left to right left only most of the columns must be fixed. Remaining cap of the table and column scroll left to right and vice versa. also

    (2) when user scroll high high bottems single topic most must be fixed and remaining all lines (with to the left most column) should be scrollable.

    I am able to put in place a point at the top, but not both. Please suggest

    "If I repopulate the value in the cell when user scrolling, shell, I get scrolling effect correctly as it only shows half cell when the user highlight half of the cell."

    Approach using TablelayoutManager display single cells and scrolling would be cell at a time.  And Yes, you will need to override navigationMovement and n of methods appropriate TouchEvent your TableLayoutManager so that he knows when to fill the cells.

    Another alternative is to have four managers, we don't the the upper left corner (the dead angle), one to make the top row (column headings), one to make the left column (row headings), and the other to do the rest (data).  Place all these in a delicate header and line manager.  Only allow the user to scroll the data part.  Have the difficult Manager to listen the scroll events.  Then have the wily Manager add and remove the dummy column and header line managers as appropriate.  Note that these topic fields would not good passes, they would be either there or they would not be displayed. That would give you your 1/2 a scroll of the cell.  And you wouldn't have to substitute anything to detect movement, you would have left the listener do scrolling for you.

  • Query took too much time when adding new column to the table and the index set on this

    I added a new column to the table that contains thousands of records. and created the composite index with three columns (those newly added + two existing column)

    for the specifics. TBL table there are two columns col1, col2

    I added the new column col3 to TBL and created composit index (col1, col2, col3).

    Now for all the records in col3 is NULL. When I choose on this table, it takes too long...

    Any idea what my I do bad., I have check the query plan, it is using the index

    It is solved using collection of statistics using the


    @Top.Gun thanks for your review...

  • New type of font "Century Gothic" and works well with the 'live view', but also a google chrome. As soon as I download my index.html file my changes disappear and always see them in dreamweaver, but not on my real Web site. any help will be great. Thank y

    I downloaded my new "Century Gothic" font type and works well with live view, but also a google chrome. As soon as I download my index.html file my changes disappear and always see them in dreamweaver, but not on my real Web site. any help will be great. Thank you!

    I use and Filezilla to connect to our FTP site.

    I see on line 42 of style.css

    do-family: 'Courier New', Courier, monospace;

    I see on line 180

    do-family: "Helvetica Neue", Helvetica, Arial, sans-serif;

    and I see FontAwesome used in several places.

    I can only conclude that Courier New is the applied font.

    If you have a different version of style.css on your local system?

  • In the electronic-search mail there is no possibility to show a column with the number of attachments has the e-mail found. I googled for solutions: sick only ideas!

    Examle: I looking for a piece attached to a particular sender - in 3 seconds I with the thunderbird electronic-mail-search a list with all the messages from the special sender, but I do not see what emails contain attachments. If I could choose the column 'number of attachments' it would be useful: 0 = there is no attachment, it is foolish to click and open it: 1) I have to close this bad-opend-window and 2.) I return to the search results window because now I'm in the thunderbird main display. Some companies still send their logo like attachment = no problem: once I opened an e-mail-results of research I can see: oh, they always send a logo, so I have to search for emails with attachments 2 and so on. (Please excuse the word "sick" in my question: I'm not very good in English, the line was so short, and I did not know that I can write the details too.)

    Try this add-on:

Maybe you are looking for