How to increase OID performance ( compared to SQL )

I have an OID directory with about 100,000 entries in it. One
portion of our DIT has about 43,000 entries that use UID as part
of the DN.
If I need to get a list of the valid UIDs, it takes a very long
time to do it via OID. Since I know a little about how OID
stores the data inside Oracle, I know how to write an SQL
statement to pull out the data. ( I know, I am not supposed to
do this...)
The point is that if I use ldapsearch, the query takes about 2.5
minutes, which the SQL query takes only 11 seconds.
This would seem to me to indicate that it is an OID issue, not a
database issue. How can I tune OID to make this process go
faster?
Bob
[email protected]
p.s. If you are interested, here is what I am doing.
date
ldapsearch -D cn=orcladmin -w welcome \
-b ou=account,o=lilly,dc=com uid=* uid \
> ldap_uid.out
date
cat <<EOF > get_uids.sql
host date
set termout off
set pagesize 0
set trimspool on
set echo off
set verify off
set feedback off
spool icux3001.uid
select attrvalue from ods.ct_uid u, ods.ct_dn d
where u.entryid=d.entryid
and d.parentdn='dc=com,o=lilly,ou=account,';
spool off
set termout on
host date
exit
EOF
sqlplus / @get_uids.sql
Here is the output from that script.
$ ./compare_ldap.ksh
Connected to: PRODUCTION ENTERPRISE DIRECTORY SERVICE ON ICUX3001
Wed Oct 10 15:10:38 EST 2001
Wed Oct 10 15:13:12 EST 2001
SQL*Plus: Release 8.1.7.0.0 - Production on Wed Oct 10 15:13:13
2001
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
JServer Release 8.1.7.0.0 - Production
Wed Oct 10 15:13:13 EST 2001
Wed Oct 10 15:13:24 EST 2001
Disconnected from Oracle8i Enterprise Edition Release 8.1.7.0.0 -
Production

I would like to add the original question. I putan OID on my NT
workstation. I am running a JNDI stress-test program from a
separate server, doing 300 lookups. I run an initial prime to
make sure everything gets into memory, then a second test. In
theory it seems to me that it should be entirely memory
lookups. The CPU and memory stats look fine from NT Task
Manager. However, during the test I can hear the disk drive
going tap-tap-tap; obviously it is being hit again and again.
When I run statspack (granted, this is a very short test) the
following is said:
Top Wait Events
sort segment request: 1 wait, 103 wait time (cs)
db file sequential read: 33 waits, 71 wait time
control file parallel write: 14 waits, 38 wait time
control file sequential read: 37 waits, 35 wait time
So, why are there so many sequential file reads and writes? Is
it something with redo? Later on the report says:
redo blocks written 479
redo entries 209

Similar Messages

  • How to increase the performance of a report

    can any body tell me how to increase the performance of a report?////
    i have prepared a report to show the expense detail .I have used BSIS and BSAS table.
    But whenever I am executing it is facing runtime error (TIME_OUT error ).
    Moderator Message: Duplicate Post. Read my comments in your previous thread.
    Edited by: kishan P on Nov 25, 2010 1:38 PM

    Please SEARCH in SCN before posting.
    Also post performance related issues here.

  • How to increase the performance in server 2008 R2 for RDP users

    Hi,
    My application take to much time to load. If anyone double click on mail client the exe file will appear in task manager but it will open after 5 mins. how to increase the performance.
    My sever configuration is as below,
    SC2600 Intel  motherboard with total 24 core processors and 32 GB RAM and 8 TB Hard Disk. RAID 5 is configured which has two lungs one is 167 GB for C drive and other is 4.5 TB for D drive.
    There are 28 Thin-clients connected to server through L300 N computing Thin-clients.
    Thin-clients connect to V-space server installed in server for RDP users to get connected.
    we have installed around 20 applications including printer and scanner driver. And apps are has below,
    Firefox browser, windows mail, Adobe acrobat XI, canon printer and scanner drivers, Epson printer and scanner driver, E scan anti-virus, office 2007, v space, power ISO, win-rar,Tally and e token drivers and some backup software's.
    Below  are the services and features enabled,
    AD, File services, RDP, web server, Hyper-v, .net frame work.
    Is there a way to increase the performance .
    Very slow performance.

    Hi,
    what would you suggest on  hardware configuration must be for  above mentioned applications and services with those many users.
    how many cores and ram size is required.

  • How to increase the performance of a program

    How to increase the performance of a program.
    Regards
    Lisa
    Message was edited by: Lisa Roy

    Here are some links that may help.
    http://www.sapinsideronline.com/searchspi/search.htm?page=article&key=20297&query_text=performance%7Ctuning
    http://www.sapinsideronline.com/searchspi/search.htm?page=article&key=44221&query_text=performance%7Ctuning

  • How to increase the performance of  Weblogic server 7.0?

    How to increase the performance of Weblogic server 7.0 ?
    also, how do i avoid typing the server login and password evertime I start the
    webserver?

    How to increase the performance of Weblogic server 7.0 ?It depends on what is not running fast enough for you.
    also, how do i avoid typing the server login and password evertime I
    start the webserver?In the startWebLogic shell script (.cmd or .sh) add:
    set WLS_USER=weblogic
    set WLS_PW=password
    (Replace "password" with whatever your password is.)
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    http://www.tangosol.com/coherence.jsp
    Tangosol Coherence: Clustered Replicated Cache for Weblogic
    "winston" <[email protected]> wrote in message
    news:3fe42d33$[email protected]..
    >

  • How to increase the performance of an Application

    Hi,
    I am using jdeveloper11.1.1.2.0 and weblogic server10.3.2.I have lot of txn in the database.when click the txn menu then page landing is very slow.My Txn data is 24thousands records.
    My RAM is 8GB and 64bit machine .So how to fast my application?Is any idea then Please help me.
    Thanks
    Anup

    Hi Frank,
    I have follow the below link but there is no performance effect of my application.
    http://www.gebs.ro/blog/oracle/adf-view-object-performance-tuning-analysis/
    On VO level ,In Tuning
    I have modified In batch Of 26 ,As needed ,and Query Optimizer hints FIRST_ROWS_26
    AND ON the page level ,Table Column Property,Fetch size i have modified 26 and page definition level ExchangeTradedPlacementHeadVOIterator default range size is 25.
    So i have above change but there is no effect on the performance of my application.
    Please give me the Solution what will i do to increase the performance of an application.
    Thanks
    Anup

  • How to increase the performance of an insert query?

    Hi,
    I am using oracle database for our application where we executes one insert query and need the performance of 300 insert queries to be executed per second.
    As of now we are getting only 30/sec.We are not knowing how to tune the database for getting this performance.
    we are doing all this though C programming under both linux and solaris environment.
    Can u guide me in this issue.
    Regards,
    vamsi krishna

    Performance tuning issue is not something you can get a straight forward answer for.
    You need to look at various aspects of the system to get close to or increase the performance of your application. Tuning just the database might not give you want you want.
    So, you need to look at the Application codes, Mermory, Disk IO, etc. Have a look at the Performance Tuning Guide from the Oracle Documentation Library for your Oracle Release and Operating System
    http://www.oracle.com/technology/documentation/index.html#previous

  • How to increase the performance of a domain index?

    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    I am using a dynamic query which uses a domain index for a clob column. The table has 1021487 records. How can i increase the performance of a select query based on this table? This is the only part where my application gets slowed down.
    The query is
    SELECT :search_id, 100, :item_type, c.search_college, c.search_colname, TRUNC(dbms_random.value(900000000000, 999999999999)) rand, COUNT(1), c.college_rating, min(DECODE(c.search_postcode, NULL, 99999, NULL)) search_distance FROM w_search_text c WHERE c.search_course_type is not null
    and (contains(c.search_text,:search_text,2) > 0)
    AND c.search_item_type = :item_bind
    GROUP BY c.search_college, c.search_colname, c.college_rating
    ORDER BY c.search_college
    here c.search_text is the domain indexed column?
    Is there a way to tune it?
    Ram

    Here c.search_text is the clob column.
    i am using 4 bind variables and they are search id : 123456
    item_type : O
    search_text : French
    item_bind : Z
    I tried explain plan and here are the results
    Plan
    SELECT STATEMENT ALL_ROWSCost: 5 Bytes: 38,280 Cardinality: 264                
         3 SORT GROUP BY Cost: 5 Bytes: 38,280 Cardinality: 264           
              2 TABLE ACCESS BY INDEX ROWID TABLE HOT_ADMIN.W_SEARCH_TEXT_LIVE2 Cost: 4 Bytes: 38,280 Cardinality: 264      
                   1 DOMAIN INDEX INDEX (DOMAIN) HOT_ADMIN.W_SRCH_TXT_IDX2 Cost: 4
    Its using the domain index, But the column is highly fed up with data...so ithink that may be the reason.Is there any HINTS in particular to tune domain indexes?
    Ram

  • How to measure the performance of a SQL query?

    Hello,
    I want to measure the performance of a group of SQL queries to compare them, but i don't know how to do it.
    Is there any application to do it?
    Thanks.

    You can use STATSPACK (in 10g its called as AWR - Automatic Workload Repository)
    Statspack -> A set of SQL, PL/SQL, and SQL*Plus scripts that allow the collection, automation, storage, and viewing of performance data. This feature has been replaced by the Automatic Workload Repository.
    Automatic Workload Repository - Collects, processes, and maintains performance statistics for problem detection and self-tuning purposes
    Oracle Database Performance Tuning Guide - Automatic Workload Repository
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14211/autostat.htm#PFGRF02601
    or
    you can use EXPLAIN PLAN
    EXPLAIN PLAN -> A SQL statement that enables examination of the execution plan chosen by the optimizer for DML statements. EXPLAIN PLAN causes the optimizer to choose an execution plan and then to put data describing the plan into a database table.
    Oracle Database Performance Tuning Guide - Using EXPLAIN PLAN
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14211/ex_plan.htm#PFGRF009
    Oracle Database SQL Reference - EXPLAIN PLAN
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9010.htm#sthref8881

  • How to increase the performance of Applet loading in IE ?

    Hi All,
    I have a Applet named "editlivejava.jar" which is around 2.17 mb in Size, when ever i opened the browser for render the applet it is taking time to load.
    Is there any way to increase the perfornamce. I heard that it should be some thing related to the client(PC) JVM heap size. Being the case is there any recommandations available so that we can apply the seetings to the JVM? Also would like to know if the same Jar is available in the JVM temporary files , will it download the JAR again to the PC or will it try to run the same locally available?. If JVM heap size matters , could anybody suggest me how should i manipulate the min and max for a PC which has lets say 1 GB of RAM.
    Form the Java console i could see lots of JRE versions present. How do i know which JRE should i need to change the memory.
    Help me out and thanks in advance.
    BR, Mohan

    Hi All,
    I have a Applet named "editlivejava.jar" which is around 2.17 mb in Size, when ever i opened the browser for render the applet it is taking time to load.
    Is there any way to increase the perfornamce. I heard that it should be some thing related to the client(PC) JVM heap size. Being the case is there any recommandations available so that we can apply the seetings to the JVM? Also would like to know if the same Jar is available in the JVM temporary files , will it download the JAR again to the PC or will it try to run the same locally available?. If JVM heap size matters , could anybody suggest me how should i manipulate the min and max for a PC which has lets say 1 GB of RAM.
    Form the Java console i could see lots of JRE versions present. How do i know which JRE should i need to change the memory.
    Help me out and thanks in advance.
    BR, Mohan

  • How to tune the performance of Oracle SQL/XML query?

    Hi all,
    I am running Oracle 9i and like to run the following Oracle SQL/XML query. It takes about 3+ hour and still not finish. If I get rid all the XML stuffs it only take minutes to run. Does anybody know how to what's the reason of this slow and how to tune it?
    SELECT XMLElement("CUSTOMER",
    XMLForest(C_CUSTKEY "C_CUSTKEY", C_NAME "C_NAME", C_ADDRESS "C_ADDRESS", C_PHONE "C_PHONE", C_MKTSEGMENT "C_MKTSEGMENT", C_COMMENT "C_COMMENT"),
    (SELECT XMLAgg(XMLElement("ORDERS",
    XMLForest(O_ORDERKEY "O_ORDERKEY", O_CUSTKEY "O_CUSTKEY", O_ORDERSTATUS "O_ORDERSTATUS", O_ORDERPRIORITY "O_ORDERPRIORITY", O_CLERK "O_CLERK", O_COMMENT "O_COMMENT"),
    (SELECT XMLAgg(XMLElement("LINEITEM",
    XMLForest(L_ORDERKEY "L_ORDERKEY", L_RETURNFLAG "L_RETURNFLAG", L_LINESTATUS "L_LINESTATUS", L_SHIPINSTRUCT "L_SHIPINSTRUCT", L_SHIPMODE "L_SHIPMODE", L_COMMENT "L_COMMENT")
    FROM LINEITEM
    WHERE LINEITEM.L_ORDERKEY = ORDERS.O_ORDERKEY)
    FROM ORDERS
    WHERE ORDERS.O_CUSTKEY = CUSTOMER.C_CUSTKEY)
    FROM CUSTOMER ;
    Thanks very much in advance for your time,
    Jinghao Liu

    ajallen wrote:
    Why not something more like
    SELECT *
    FROM fact1 l,
    FULL OUTER JOIN fact1 d
    ON l.company = d.company
    AND l.transactiontypeid = 1
    AND d.transactiontypeid = 2;
    Because this is not an equivalent of the original query.
    drop table t1 cascade constraints purge;
    drop table t2 cascade constraints purge;
    create table t1 as select rownum t1_id from dual connect by level <= 5;
    create table t2 as select rownum+2 t2_id from dual connect by level <= 5;
    select * from (select * from t1 where t1_id > 2) t1 full outer join t2 on (t1_id = t2_id);
    select * from t1 full outer join t2 on (t1_id = t2_id and t1_id > 2);
         T1_ID      T2_ID
             3          3
             4          4
             5          5
                        6
                        7
         T1_ID      T2_ID
             1
             2
             3          3
             4          4
             5          5
                        6
                        7

  • How to increase the performance

    hi.
    my execution is taking time in this select query and this i found in sql trace.
    what should i do to reduce the time,any validations,any code change.
    Also tell me how to see the indexes for the tables?
      IF NOT i_aufk IS INITIAL.
        SELECT  aufnr      "Order number
                budat      "Posting date
        INTO TABLE i_afru
        FROM afru         "Order Confirmations
        FOR ALL ENTRIES IN i_aufk
        WHERE aufnr = i_aufk-aufnr.
        IF sy-subrc EQ 0.
          SORT i_aufk BY aufnr.
    please do reply.thanks

    Hi,
    change the source code as:
    IF NOT *i_aufk[]* IS INITIAL.
    SELECT aufnr "Order number
    budat "Posting date
    INTO TABLE i_afru
    FROM afru "Order Confirmations
    FOR ALL ENTRIES IN i_aufk
    WHERE aufnr = i_aufk-aufnr.
    IF sy-subrc EQ 0.
    SORT i_aufk BY aufnr.
    endif.
    endif.
    Thanks & Regards,
    Navneeth K.

  • How to increase painting performance ?

    First off all, i'd like to apologize for my poor english, because I'm from brazil, and even knowing very well how to speak english, my spelling sometimes comes out really nasty.
    Now getting to the subject... ;^)
    I study computer science here in brazil, and during a course of data structures, I once saw this stunting applet( a kind of visualization application for AVL trees ) located at: http://www.seanet.com/users/arsen/avltree.html. Since then, I've tried to make something similar to this applet, because I thought that it would be a great experience to do something like that. And I've achieved that. However, like in everything that we do, we encounter some trouble in the way.
    First, i tried to develop my own visualization of AVL trees program by using the C language, toghether with the old Borland Turbo C BGI graphics library. It was fine, but i wasn't satisfied 100% with it. Then I've decided to develop it in Java too. I had to make several changes in the algorithms responsible for rendering the tree when I wrote the program in Java, because I wasn't doing the things in the C version in a very smart way. However, the Java version was really improved and is pretty efficient.
    My actual problem:
    I've implemented a swing component responsible for doing the visualization of any AVL tree. It extends JComponent.
    My only problem, is related with the Java 2D library and it's renderer. As the size of the component, that holds the tree and paints it, grows, the performance of the painting slows down drastically. Even when the user isn't interacting with the tree, witch doesn't require recalculating any coordinates and adicional processing.
    I've tried to set a clipping area in order to perform the drawing faster and improve it's performance, but it didnt worked as I expected. The wanted performance is still unachieved.
    You'll know what I'm talking about if you download the program and play with it ...
    I don't know what to do ... I'm thinking to create offscreen images of the tree, but I've read that the swing components already are double buffered.
    I would publish the source code of the application for you to examine, but I think it wouldn't be useful, because the code is well documented, sadly, in Portuguese. So for you to get along with it, would take a long time ....
    One thing thar I've noticed is that Visual Paradigm 3.0( http://www.visual-paradigm.com ) is made in java, and the diagrams sheets are nicely rendered ... what the developers of visual paradigm may have done to improve the performance of the drawing of the diagrams ? Cause they render realy fast, dont matter the size of the panel holding the diagram...
    Does anyone know any documents that i can read about this stuff ? Does anyone have any suggestions ?
    you can download the C version of my visualization program at: http://planeta.terra.com.br/informatica/jdesign/pessoal/AVL.zip
    you can download the java version of my visualization program(executable jar) at: http://www.jdevelop.thefreeserver.com/ArvoresArvl.jar
    you can view a brief explanation of the visualization program at: http://www.jdevelop.thefreeserver.com/avl_tree.html
    Note: the java version has few known bugs, however they dont affect the performance of the painting and i'm working on them.
    If you are brave enought and want to try analising the source code, ask me for it by emailing me at: [email protected]
    Thanks in advance,
    Julio Cesar de Andrade Vieira Lopes
    [email protected]

    i'm sorry .... the correct link to download the java program is:
    http://www.jdevelop.thefreeserver.com/ArvoresAvl.jar

  • How to get better performance to this sql code?

    Guys I need your help.
    I have a master table, 80 columns, more than millions data in it.
    MasterTable
    PK_Column_1
    PK_Column_2
    Column_3
    Column_4
    Select column_3, column_4
    from MasterTable
    where PK_Column_1 = '1' and PK_Column_2 = '2';
    I don't know how to create index for this table. Thank u.

    I don't know how to create index for this table.If PK stands for Primary Key, there should already be an index on those columns.
    What trouble are you having? Have you looked at an explain plan?
    Also...
    PK_Column_1 = '1' Are your primary key columns varchar2 columns?

  • How to increase the performance with the case structure?

    Hiii, All
                I want to stop the looping into my vi, which is occuring because of Case structure, as i ve shown in the figure, i am checking for the trigger, either it is Manual or it is Auto, if auto i am going inside the case and checking the loop of either Auto trigger is for Analog values or for digital values, if it is for analog valus, i am checking the set point that, either P.V. has cross the setpoint or not? if it is then i am starting to write the file and the control comes out again to check the Start trigger again, either it is Auto or manual? and because of these contonuous loops inside the while loop, my other while loops inside the vi, decrease the performance mean they are slowing down also with the current while loop, so i think solution is to stopping these nested loops, but what should i do to stop these nested loops? please suggest something.
    Thanks in Advance,
    Nishant
    Attachments:
    Performance.jpg ‏169 KB

    You can consider multithreading the single loop and using a synchronization resource to communicate between threads.  You should also consider cutting down on the global variable dependancies which makes the code hard to follow.
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

Maybe you are looking for