2d interpolation index order?

Hi,
this is not really a problem but i am properly confused by the purpose or the way labview works.  as i am doing the 2d interpolation for some image analysis, i converted the loaded image into a 2D array.  it took me a while to figure out the index correspondence between pixel coord and the (row, col) in the array.  it seems that the pixel value at (x, y) coord is put in the (col, row) of the matrix, so that when the 2D array is displayed in an intensity map, it is rotated 90 degrees wrt to the image.
i can see the point of this "column first" index convention, because the matrix index is (col, row) in the image coord:
(col0, row0)  (col1, row0), ...
(col0, row1)  (col1, row1), ...
nonetheless, common labview vi for array manipulation such as "index array" and "replace array subset" still work in such a way that the first index is row and then the column follows, same as how people locate matrix elements.  if not dealing with image, there is no confusion, untill --
as i am doing the 2D interpolation, which does not have to be involved in image processing at all, the (xi, yi) pairs actually mean (col, row), when the help doc says xi is the first "independent variable", even though clearly if i want to read an element, i need to put row as the first index.  the help doc describes the(xi, yi) pair as "The VI looks up each value of xi, yi in
X, Y...".  nowhere in the help doc indicates whether "first independent variable" means row index or column index. 
up to this point, i have no idea why labview treats interp2D so differently from ordinary array vis.  IMO, the fact that one has to either transpose 2D array or to swap xi/yi index is extremely confusing and inconvenient.
-E

AG -
Thanks for the VI. I do understand that the X and Y data need to be monotonically increasing and formatted as a mesh as you showed me in your VI. However, the problem I run into is when generating the Z matrix. I have scattered points that have been measured in different X and Y locations, and do not represent a regular 2D grid. Sometimes the data is measured in a few points around a circle, for instance, but I want to interpolate over a rectangle containing the circle.
So, my Z data looks like this (see attached image):
Which I can write as a 1-D array into the griddata function in matlab
Attachments:
zdata.JPG ‏28 KB

Similar Messages

  • Indexed Ordered Tables or Not?

    I am designing a database and have a question about the use of Indexed Ordered Tables. All tables in the database have a single column primary key. It is a numeric value select from a sequence. The table will be partitioned by date, one partition per month. The 13th partition will be removed each month. Rows will not typically be deleted.
    Would performance be better using Indexed Ordered Tables or Heap Tables?

    You generally want to use index-organized tables (IOT) when at least one of the following is true
    - the primary key encompasses all the rows of the table
    - the table is accessed frequently by the primary key
    - you want to enforce co-location of data (i.e. all the orders for a particular customer are stored next to each other)
    Of course, you probably want to benchmark with a standard heap organized table and with an index-organized table to be sure.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • YouTube Embed Stacking [index #] order.

    I made a youtube video border frame in Photoshop which had a transparent center with the inside corners rounded.
    I didn't worry about the outside corners being rounded b/c Muse could take care of that.
    I embeded the youtube clip and attempted to put the frame on top so the video would show through the transparent portion - which had my rounded corners.
    In design mode it appears the layers are fine - they can be indexed. In preview mode or in live mode the video clip is always on top.
    I have experimented with 2 separate video embeds and they WILL swap index order with each other but not with other items.
    See shots taked from preview mode - -
    The rectangle [frame] will NOT swap stack with the video - Shot 1
    Shot 2 shows the small video on top of the frame and the larger video
    Shot 3 shows the larger video on top
    Nothing I try will bring the rectangle/frame to front.
    Am I the vicitm of a BUG, of intended [by Adobe] results and/or of operator error?

    Hello,
    You can select the image (video border which you created in Photoshop), right click on it>Arrange>Bring to front.
    It should place the video in the back layer and Border in front layer. However, in that case you might not be able to play the video. So you might have to use the autoplay option in Embed code.
    Please let us know if you are still facing issues with it.
    Regards,
    Sachin

  • Index order in Oracle 10g

    Hi
    I have a query:
    I have a table having date and status as fields. Date is indexed.
    Now i want to know whether the performance will hit if i make the query as:
    where status = 'A' and date >= sysdate-100 and date <= sysdate
    Does it matter that the where clause ordering should be as per ordering of indexes?
    Similarly the same thing for partition. If date field is partitioned, will the partitioning advantage is there if we put status condition first.
    Regards

    The optimizer will choose the order of operations that it believes will cause your query to run the most quickly regardless of the order you specify conditions in your WHERE clause. The optimizer's decision will be driven by a number of factors-- optimizer parameters, database version, system statistics, table statistics, index statistics, histograms, the selectivity of your conditions, etc. No one can say with any level of certainty what the optimizer in your particular database with your particular tables and indexes with your particular statistics would generate for a query plan.
    If you as a human have reason to believe that the date condition is sufficiently selective that the optimizer should use that to do an index range scan as the first step, the optimizer should come up with that plan assuming your statistics back up your intuition.
    Justin

  • Indexing order

    hi
    i have a table a with fields a1,a2...a5 (no primary key)
    I have a query as below
    select * from a , b
    where a.a2 = ?
    and a.a1=b.b1
    i have to create a index on this table. Even field a1 is not created as a key field, it has unique values in it.
    So when i create a composite index for the table a, should i order it as (a2,a1) or (a1,a2)
    I understand, the coulmn with most distinct value should come first, but my doubt here is im passing a input value to field a2. So having the index as (a2,a1) will improve faster retrieval??
    I'm more converned on this order, as this is a history table which has millions of records.

    user631868 wrote:
    hi
    i have a table a with fields a1,a2...a5 (no primary key)
    I have a query as below
    select * from a , b
    where a.a2 = ?
    and a.a1=b.b1
    i have to create a index on this table. Even field a1 is not created as a key field, it has unique values in it.
    So when i create a composite index for the table a, should i order it as (a2,a1) or (a1,a2)
    I understand, the coulmn with most distinct value should come first, but my doubt here is im passing a input value to field a2. So having the index as (a2,a1) will improve faster retrieval??
    I'm more converned on this order, as this is a history table which has millions of records.There is disagreement on this. If you have the time try it both ways and see which works better in the circumstances you working.
    The answer to your question depends on a lot of things. You have unique values in a1 so a B-Tree index will probably work well if you have lots of rows. By creating a composite index with A2 in it your index can handle both columns.
    I personally get the best results in a B-Tree index when you put the most unique value first in the index. There is disagreement on this and I suspect that the efficiency depends on circumstances like database settings, query usage, columns retrieved, and so on.

  • Open Orders...Urgent Help Pls

    How can we retrieve open and non cancelled only sales order documents for a particular material...Pls Help me out

    Hi mavreck,
    From table VAPMA (Sales Index: Order Items by Material) check VBUK (Sales Document: Header Status and Administrative Data) and VBUP (Sales Document: Item Status)
    Regards,
    Clemens

  • Query don't use the right index when using bind variables

    Hi people !
    I need some help because I have an issue with a query that don t use the right Indexes as it should
    First of all, I have mainly three tables :
    ORDER : Table that contains description for each Order (approximately 1 000 000 Records)
    ORDER_MVTS : Table that contains the tasks made (called movements) to set up each Orders
    with quantity of packages prepared for each product (approximately 10 000 000 Records)
    PRODUCT : Tables that contains the products (approximately 50 000 Records)
    When I launch the query with hard coded values, it brings back response very fast
    because it uses the right index (ORDER_DHR_VALID) which represent the date and hour of the order
    (with format 'DD/MM/YYYY HH24:MI:SS'). The selectivity for this index is good.
    NB 1: I have to use the trick " >= Trunc(date) and < trunc(date) +1 " to filter on a simple date because
    the index contains hour and minutes (I know it wasn't probably a bright idea at conception time).
    NB 2: The index on ORDER_MVTS.PRODUCT_CODE is'nt discriminating enough because there is'nt enough different products.
    It's the same for index on CUSTOMER_CODE and on MVT_TYPE so only the index on ORDER.DHR_VALID is good.
    Here is the correct explain plan when I execute the query with hard coded values :
    SELECT SUM(ORDER_MVTS.NB_PACKAGE)
    FROM ORDER_MVTS, PRODUCT, ORDER
    WHERE ORDER.DHR_VALID >= TRUNC(to_date('14/11/2008 10:04:56','DD/MM/YYYY HH24:MI:SS'))
    AND ORDER.DHR_VALID < TRUNC(to_date('14/11/2008 10:04:56','DD/MM/YYYY HH24:MI:SS')) + 1
    AND ORDER_MVTS.MVT_TYPE = 'DELIVERY'
    AND PRODUCT.CODE = ORDER_MVTS.PRODUCT_CODE
    AND ORDER_MVTS.ORDER_CODE = ORDER.CODE
    AND ORDER.CUSTOMER_CODE = 'ADIDAS'
    AND PRODUCT.CODE = 1234
    Rows Row Source Operation
    1 SORT AGGREGATE
    2 NESTED LOOPS
    4 NESTED LOOPS
    2 INDEX UNIQUE SCAN (object id 378548) --> PRODUCT_PK
    4 TABLE ACCESS BY INDEX ROWID ORDER
    777 INDEX RANGE SCAN (object id 378119) --> ORDER_DHR_VALID
    2 TABLE ACCESS BY INDEX ROWID ORDER_MVTS
    30 INDEX RANGE SCAN (object id 377784) --> ORDER_MVTS_ORDER_FK
    Now the problem is when the query is used in a Cursor with bind variables.
    It seems like Oracle don't use index on ORDER.DHR_VALID because he can't figure out that he have
    to actually filter on a short period of time (only one day).
    So Oracle uses the index on ORDER_MVTS.PRODUCT_CODE which is'nt a bright idea (it takes 10 secondes instead of just one)
    Here is the bad explain plan :
    Rows Row Source Operation
    1 SORT AGGREGATE
    2 NESTED LOOPS
    722 NESTED LOOPS
    2 INDEX UNIQUE SCAN (object id 378548) --> PRODUCT_PK
    722 TABLE ACCESS BY INDEX ROWID ORDER_MVTS
    1790 INDEX RANGE SCAN (object id 377777) --> ORDER_MVTS_PRODUCT_FK
    2 TABLE ACCESS BY INDEX ROWID ORDER
    1442 INDEX UNIQUE SCAN (object id 378439) --> ORDER_PK
    Now I have found two solutions to this problem :
    1) using a Hint to force the use of index on ORDER.DHR_VALID (with /*+ INDEX(ORDER ORDER_DHR_VALID) */ )
    2) Using Dynamic SQL and keeping the date hard coded (but not the other values except mvt_type)
    For example :
    QUERY :=
    'SELECT SUM(ORDER_MVTS.NB_PACKAGE)
    FROM ORDER_MVTS, PRODUCT, ORDER
    WHERE ORDER.DHR_VALID >= TRUNC(TO_DATE('''||To_char(P_DTE_VAL,'DD/MM/YYYY')||''',''DD/MM/YYYY'')) '||
    AND ORDER.DHR_VALID < TRUNC(TO_DATE('''||To_char(P_DTE_VAL,'DD/MM/YYYY')||''',''DD/MM/YYYY'')) + 1 '||
    AND ORDER_MVTS.MVT_TYPE = 'DELIVERY'
    AND PRODUCT.CODE = ORDER_MVTS.PRODUCT_CODE
    AND ORDER_MVTS.ORDER_CODE = ORDER.CODE
    AND ORDER.CUSTOMER_CODE = :CUSTOMER
    AND PRODUCT.CODE = :CODE ';
    These two solutions work but Number 1 is bad in theory because it uses a Hint
    and Number 2 may be difficult to code.
    So my question is : Does someone knows another solution to force the use of index ORDER_DHR_VALID that can be simple and reliable.
    Thank you very much for support
    Edited by: remaï on Apr 1, 2009 4:08 PM

    What version of oracle you have? CBO work is different in 9i and 10g.
    Usually cost based optimizer do not want to use index for >< condition with binding variables because optimizer can not use statistic to determine selectivity, and by default selectivity of <> operators is low.
    (As I remember '>' selectivity by default is 5%, you have two conditions > and <, therefore resulting selectivity will be 0.05*0.05=0.0025 as two independent events, but selectivity of other conditions
    ORDER_MVTS.MVT_TYPE = 'DELIVERY' or ORDER.CUSTOMER_CODE = 'ADIDAS' looks much better for CBO)
    The best solution I see is do not use binding variables. Actually your query looks as searching query, which executes not so often, therefore you will not have perfomance win along of skipping execution plan creation.
    Edited by: JustasVred on Apr 1, 2009 10:10 AM

  • How to use indexes correctly in oracle

    Hi guys
    on one table i have indexes on 3 columns in the following order
    a
    b
    c
    When i m writing a select statement in my where clause what should be the order? like
    where
    a='some value' and
    b='some value' and
    c='some value';
    or in reverse order like this
    c='some value' and
    b='some value' and
    a='some value';
    please let me know.
    Thanks

    If you have an index on a,b,c the difference in performance can be on the index order.
    If column "a" has only 2 unique values then the sub values of the index only has 50% of the remaining values, the cost optimizer on Oracle will probably skip the index as an index scan of 50% is slower than a full table scan.
    If a has 100 unique values then the remaining search is only on 1% of the values so is likely to be used.
    As with any optimisation try using
    explain plan for selec x,y,z from a_table
    from where
    a='some value' and
    b='some value' and
    c='some value'
    If the index is not being used firstly try
    analyze table estimate statistics
    sample 10 percent
    for all indexes
    for all indexed columns;
    and failing than try different orders in acceptance environment.

  • Descending index results in DB connection being terminated

    Hi all,
    This is on Oracle 10g 10.1.0.3.0.
    I have a table created using the following DDL:
    Create table orders
    purchase_order_id number,
    ext_order_id number,
    ext_ad_id number,
    member_id number constraint campaigns_n1 not null,
    status number(2) default 0 constraint campaigns_n2 not null,
    name varchar2(50) constraint campaigns_n3 not null,
    cost_type varchar2(10) default 'CPM' constraint campaigns_n4 not null,
    unit_cost float constraint campaigns_n5 not null,
    num_days number,
    start_date timestamp,
    end_date timestamp,
    quantity number constraint campaigns_n6 not null,
    key_val_targeting varchar2(2048),
    ext_query_id number,
    last_report_date date default sysdate,
    last_update_time timestamp default systimestamp constraint campaigns_n7 not null
    INITRANS 1
    MAXTRANS 255
    PCTUSED 60
    PCTFREE 40
    TABLESPACE TBS1
    NOCACHE
    With the following index:
    create index orders_i1
    on orders(status desc, last_report_date)
    SORT
    INITRANS 2
    MAXTRANS 255
    PCTFREE 10 TABLESPACE TBS1
    When I execute the following query, my DB connection is immediately terminated (this is true of sqlplus, as well as a JDBC connection to the database), without any data being returned:
    SELECT /*+ index (ORDERS ORDERS_I1) */ PURCHASE_ORDER_ID, EXT_QUERY_ID, STATUS, LAST_REPORT_DATE, MEMBER_ID, EXT_ORDER_ID FROM
    ORDERS WHERE (STATUS = 3 OR
    (LAST_REPORT_DATE <= sysdate - 3 AND (STATUS in (2, 4))))
    AND ROWNUM < 5;
    When the connection is terminated, I see the following message (in sqlplus):
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    Any clues as to what might be causing this? Since I don't get any sort of reasonable error, I can't really make out what the problem is.
    thanks!

    Hi,
    I too have a similar kind of a problem.
    My view is:
    CREATE OR REPLACE VIEW EXPENSE_HEADER AS
    SELECT /*+ INDEX (expense_header_tab expense_header_ix3)*/
    company_id company_id,
    expense_id expense_id,
    start_stamp start_stamp,
    end_stamp end_stamp,
    FROM expense_header_tab
    WITH read only
    index is:
    DECLARE
         columns_ Database_SYS.ColumnTabType;
    BEGIN
    Database_SYS.Set_Table_Column(columns_,'COMPANY_ID');
    Database_SYS.Set_Table_Column(columns_,'EXPENSE_ID DESC');
    Database_SYS.Create_Index('EXPENSE_HEADER_TAB','EXPENSE_HEADER_IX3',columns_);
    (Database_SYS is a package that we use in the framework for DDL related work)
    When I try to run a query with more than one value connected using OR conditions in the WHERE clause SQLPlus gives a end-of-file communication error. This does not happen for a single value or any other clauses.
    problamatic query:
    select * from expense_header t where (EXPENSE_ID = '201405' or EXPENSE_ID = '201406')
    Any ideas?
    Thanks!

  • Hashmap, Lists and Indexing

    Ive had this design problem come up twice already (in the last 3 weeks)
    so i figured its time to consult the sages.
    Though I know how to use a hashmap in
    code I dont really know anything technical about them (or any other map
    or hash---). I dont really have a grasp when to use them over ArrayList
    or LinkedList aside from obvious key/value situations.
    I see them used almost everywhere (I use them almost nowhere). I hear they are faster than get() methods in Lists (which I use always).
    Anyway, this is my requirement:
    I have an object that has a unique index (ordering value).
    this index isnt the position that the object has in the list its just some number or numbers that are sortable and unique (and usually not
    consequtive).
    Example:
    13
    105
    106
    418
    2107
    (not 1, 2, 3, 4, 5)
    I could have from 0-30,000+ of these objects. Right now im using a LinkedList because from what I understand they are better for random insertion (which there will be a lot of).
    Because I dont have technical knowledge of Hashmaps i dont
    use them - but I thought the index numbers would make good keys (theyre guarenteed to be unique).
    Heres the problem. When I grab a random object I (as a requirement)
    need to be able to get the previous/next object. Using the example above: if im at object indexed 105 id need to know that object indexed
    13 is the previous entry in the collection.
    I did research this and the Hashmap API specifically says:
    "This class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time."
    So Hashmap is unuseable for my purposes right?
    Right now i am using a binary search with a comparator to always
    insert objects into the LinkedList sorted ascendingly by that index number. I am using the same binary search and comparator to then retrieve an object quickly. To grab the previous object I get the object
    in the previous element and grab its index number.
    So my question is: are my assertions correct? is my linkedlist with a
    binary search for keeping it sorted and quickly accessible an ok method?
    thanks for any input!

    Thanks. The indices are unique.
    How do you get the previous entry in a TreeMap
    (because you wont
    have the key)?I think you would have to maintain a copy of the keys in an ArrayList and use Collections.sort() every time a new key is added/removed. Use the ArrayList to randomly pick a key and its adjacent keys which you would then in turn use to retrieve the object from a Map (because order here don't matter anymore).
    Message was edited by:
    CodeOnFire-again

  • Cursor ORDER BY Clause Changing Row Count In BULK COLLECT ... FOR LOOP?

    Oracle 10g Enterprise Edition Release 10.2.0.4.0 running on Windows Server 2003
    Oracle Client 10.2.0.2.0 running on Windows 2000
    I have some PL/SQL code that's intended to update a column in a table based on a lookup from another table. I started out by testing it with the UPDATE statement commented out, just visually inspecting the DBMS_OUTPUT results to see if it was sane. During this testing I added/changed the cursor ORDER BY clause to make it easier to read the output, and saw some strange results. I've run the code 3 times with:
    1. no ORDER BY clause
    2. ORDER BY with two columns (neither indexed)
    3. ORDER BY with one column (not indexed)
    and get three different "rows updated" counts - in fact, when using the ORDER BY clauses it appears that the code is processing more rows than without either ORDER BY clause. I'm wondering why adding / changing an ORDER BY <non-indexed column> clause in a cursor would affect the row count?
    The code structure is:
    TYPE my_Table_t IS TABLE OF table1%ROWTYPE ;
    my_Table my_Table_t ;
    CURSOR my_Cursor IS SELECT * FROM table1 ; -- initial case - no ORDER BY clause
    -- ORDER BY table1.column1, table1.column2 ; -- neither column indexed
    -- ORDER BY table1.column2 ; -- column not indexed
    my_Loop_Count NUMBER := 0 ;
    OPEN my_Cursor ;
    LOOP
    FETCH my_Cursor BULK COLLECT INTO my_Table LIMIT 100 ;
    EXIT WHEN my_Table.COUNT = 0 ;
    FOR i IN 1..my_Table.COUNT LOOP
    my_New_Value := <call a pkg.funct to retrieve expected value from another table> ;
    EXIT WHEN my_New_Value IS NULL ;
    EXIT WHEN my_New_Value = <an undesirable value> ;
    IF my_New_Value <> my_Table(i).column3 THEN
    DBMS_OUTPUT.PUT_LINE( 'Changing ' || my_Table(i).column3 || ' to ' || my_New_Value ) ;
    UPDATE table1 SET column3 = my_New_Value WHERE column_pk = my_Table(i).column_pk ;
    my_Loop_Count := my_Loop_Count + 1 ;
    END IF ;
    END LOOP ;
    COMMIT ;
    END LOOP ;
    CLOSE my_Cursor ;
    DBMS_OUTPUT.PUT_LINE( 'Processed ' || my_Loop_Count || ' Rows ' ) ;

    Hello (and welcome),
    Your handling the inner cursor exit control is suspect, which will result in (seemingly) erratic record counts.
    Instead of:
    LOOP
    FETCH my_Cursor BULK COLLECT INTO my_Table LIMIT 100 ;
    EXIT WHEN my_Table.COUNT = 0 ;
    FOR i IN 1..my_Table.COUNT LOOP
    my_New_Value := <call a pkg.funct to retrieve expected value from another table> ;
    EXIT WHEN my_New_Value IS NULL ;
    EXIT WHEN my_New_Value = <an undesirable value> ;
    IF my_New_Value my_Table(i).column3 THEN
    DBMS_OUTPUT.PUT_LINE( 'Changing ' || my_Table(i).column3 || ' to ' || my_New_Value ) ;
    UPDATE table1 SET column3 = my_New_Value WHERE column_pk = my_Table(i).column_pk ;
    my_Loop_Count := my_Loop_Count + 1 ;
    END IF ;
    END LOOP ;
    COMMIT ;
    END LOOP ;Try this:
    LOOP
    FETCH my_Cursor BULK COLLECT INTO my_Table LIMIT 100 ;
    FOR i IN 1..my_Table.COUNT LOOP
    my_New_Value := <call a pkg.funct to retrieve expected value from another table> ;
    EXIT WHEN my_New_Value IS NULL ;
    EXIT WHEN my_New_Value = <an undesirable value> ;
    IF my_New_Value my_Table(i).column3 THEN
    DBMS_OUTPUT.PUT_LINE( 'Changing ' || my_Table(i).column3 || ' to ' || my_New_Value ) ;
    UPDATE table1 SET column3 = my_New_Value WHERE column_pk = my_Table(i).column_pk ;
    my_Loop_Count := my_Loop_Count + 1 ;
    END IF ;
    EXIT WHEN my_Cursor%NOTFOUND;
    END LOOP ;
    END LOOP ;
    COMMIT ;Which also takes the COMMIT outside of the LOOP -- try to never have a COMMIT inside of any LOOP.
    Additionally, not too sure about these:
    my_New_Value := <call a pkg.funct to retrieve expected value from another table> ;
    EXIT WHEN my_New_Value IS NULL ;
    EXIT WHEN my_New_Value = <an undesirable value> ;Any one of those EXITs will bypass your my_Loop_Count increment.
    Edited by: SeánMacGC on Jul 9, 2009 8:37 AM
    Had the cursor not found in the wrong place, now corrected.

  • Tables updated while creating order, before saving

    hi friends,
    Please provide list of tables updated while creating the order, before saving it.
    regards,
    vandana arora

    Hi
    The following tables get updated
    VBBE - Sales Requirement
    VBLB - Release Order Data
    VBAK - Sales Document Header
    VBPA - Partner Table
    VEPVG - Delivery Due Index
    VBAP - Sales Document Item Data
    VKDFS - SD Index: Billing initiator
    VAPMA - SD Index: Order Item by Material
    VAKPA - SD Index: Order Item by Partner Function
    VBEP - Schedule Line
    VBKD - Sales Doc: Business Data
    VBEH - Schedule Line History

  • Smartview Query Evaluation Order and Performance

    In which order does Smartview evaluate a query? i.e., rows first, then columns, then POV? I have experimented with a few large drill-downs and queries using a single dense dimension in the row (organization), and putting everything else in the columns, and timed that against a query that takes everything in the columns except Month into the POV. The query that is only rows and columns (no POV) has won every single time, sometimes twice as fast.
    I am curious about the evaluation order (if there is one), and am wondering if having a POV, or not, affects performance.
    Thanks

    Also look at the Execution Plan. The execution plan might be changing
    because of different bind variables being "peeked".
    With a certain execution plan, Oracle might be doing an Index Range Scan
    and retrieving the rows by the Index order, making the ORDER BY redundant
    (even if you see it in the Explain Plan).
    With a different execution plan, the rows might not be appearing in order and
    Oracle has to really do an explicit ORDER BY.

  • Index Keys

    Hi,
    I have more then 400 index keys... how can I check which index keys is not functioning? I meant corrupted and need rebuild?
    Any one have any kind of infor on this is most welcomed.
    Thanks

    You can use ANALYZE INDEX .. VALIDATE STRUCTURE.
    You could create an Sql script, say val.sql, like this :
    set pages 0
    set feed off
    spool valind.sql
    select 'prompt '||owner||'.'||segment_name||chr(10)||'analyze index '||owner||'.'||segment_name||' validate structure;'
    from dba_segments
    where segment_type='INDEX'
    order by owner,segment_name
    spool off
    spool valind
    @valind
    spool off
    exitset ORACLE_SID to your SID, and execute it at OS prompt
    sqlplus "/ as sysdba" @val
    In valind.lst you'll find results.

  • Oracle form Controls Tab Index Issue

    I have a form with multipleText Items. Whenever i use keyboard and check the Tab order it is not proper. I don't see any Tab Index property here. So how will i make sure that the Tab Index order it as desired.
    I have Address1, Address2, City, State, Zipcode and if i use keyboard Tab the focus is going from Addreeline1 to State to City to Zipcode to Address2. But i want like Address1, Addreess2, City, State, Zipcode order.

    Hai,
    In the forms, under Data Blocks ---> <datablock_name> ---> Items all the items will be listed.
    Change the order of those items as per your required tab order (First item on top). Then when you run the form it will be OK.
    Or else you can set the properties PREVIOUS NAVIGATION ITEM, NEXT NAVIGATION ITEM of each item for the tab order.
    Regards,
    Manu.
    If this answer is helpful or correct, please mark it. Thanks.

Maybe you are looking for