Is it only me? TM + Indexing

I am new to TM.
The set up went very well. No problem whatsoever.
But a couple of things:
- It is backing up every hour for some minutes, 5/10 which means 10/20% of any hour I have this noise + the bus filled with data and the cpus are used. Is it possible to run it every 3/4 hours? and have less back ups a day?
- then there is an Indexing going on since I run TM and it never ends. Now it says it'll take 229 hours to finish. 229 hour? Is TM & Indexing the "same" cat running after its own tail? Or just an indexing bug? Maybe it's because I use the computer, like 24/24 always cpu at 100% so indexing never catches up.
any comment or insight?
thank you.

Hi,
the point is not that spotlight didn't finish.
The point is that TimeMachine+Spotlight is a cat biting its own tail!!!
So this morning it had finished.
I started video encoding again. It will go for another 3 days in a row ok ..? ..
Then did TimeMachine backups, and Spotlight indexing with the resources it has at the moment whle the CPUs are busy simply takes longer to index than the time between backups, leading to a indexing queue.
In other words, if u use the cpus and have some storage to backup with TM, then spotlight will always be ON!!!!!!
My set up:
2 hard disks to backup:
1 - working files 400GB
2 - OSX boot drive + personal docs and stuff 100GB
Computer is the newest iMac 2.4 24" with 4GB ram. More than that I can't.
Result=Spotlight always indexing for days until u use the cpus. And it takes 4-6% up to 30% of resources!!!!!!!!! Unbearable!! And these computers are already slow enough !!!!!!!!!!!!!! slow? yes slow! because they didn't want to use core 2 duo with 4 cpus, but they wanted to use notebook stuff on the imac.
In other words I think all the macs now on sale but the macpro will have the same problem if you use TM+Spotlight=When u use the cpus indexing is never able to keep up with TM new backups to index.
The spotlight index is not corrupted. it simply is a cat biting its own tail. This is actually something apple people must know about. IT's obvious if cpus/drive speed are what they are today.
So everyone please try. Have OSX boot drive 100GB + 400GB more to index, run full cpus encoding come back after a couple of hours and see the indexing going on ...
What if I turn off indexing for TimeMachine? Will it work correctly but slower? Or wouldn't work?
Anybody any comment?
thank you.
Message was edited by: Gianluca Maddalena

Similar Messages

  • Only folders get indexed.

    Hi,
    We have Portal on a clustered environment.
    TREX is up and running fine.
    When I index any folder, I select Item to Index as ALL and service as TREX SERVICE.
    When I look up the Indexing monitor, the status is There are too many TREX errors, and only 1 object gets indexed and that is the folder itself and not the documents under it.
    So when I perform a search too I can see the folder in the search results and not the constituent files.
    I flushed the index from the TREX monitor as mentioned in other threads.
    In the URL Generator service too I have the entry https://<host>:8080 (i dont think this might have anything to do with it)
    Please help !!
    Prem

    Hi Prem,
    You have described all the things related thats good...but let me know about the error type also..you can check that in the application log.
    Also check the index server is up n running..
    just let me know the error type from the AL.
    Also check whether you have created any taxonomies and crawler parameters..
    Regards
    Piyush
    Pl reward points if this helps!!!

  • Only "average" Experience Index for new fully loaded T430s?

    I have a new t430s.  Windows 7 64 bit, Intel i7, 16 Gigs Crucial Ram, 256GB  mSATA for O/S & applications, 6300 Wifi, Intel HD4000 + Nvidia NVS 5200M.  I ran Windows "Experience Index" to rate my computer.  With no real applications installed, I only rated a 6.6.  Processor: 7.2, Memory: 7.6, Graphics: 6.6, Gaming Graphics 6.6: Primary Hard Disk: 7.8. 
    I'm suprised that my Processor and Graphics rated relatively poorly. 
    Don't get me wrong.  I LOVE my new set up (cost a pretty $).  16 GB RAM was overkill and in retrospect should have gotten 8 GB.  And I changed my mind about Nvidia (I'm not a gamer) but kept it anyway sine Lenovo customer service was making it quite painful to make alternations to my computer after order.
    That said, 6.6 is kind of disappointing.  Why did my graphics and processor score so low?  I have the BEST processor at time of purchase.. 7.2 ain't to trifle at, but out of 7.9 i only scored a 7.2 with the latest/greatest?  Can a laptop not score a 7.9? 
    I'm happy the primary disk (mSATA) and memory (crucial 16GB) scored near-perfect scores, however.
    Solved!
    Go to Solution.

    Hi realtanu
    It is optimum for T430s to have such WEI results. In fact, an overall of 6.6 is considered high, ranging from 1.0 - 7.9. If you want a full 7.9 WEI, you should consider other high end gaming laptops with quad core i7, GTX / Quadro (not NVS) processor which is usually thick, heavy and have less battery life. 
    If I am not wrong, you change to two 8GB DDR3-1333 DIMM so your memory score is 7.6. If you change it to two 4 / 8GB DDR3-1600 DIMM, your memory score will go up to 7.8. By default, it comes with 1600MHz memory for ##30 series ThinkPad.
    With T430s, you could at most get an dual core i7 and subrange NVS card due to it's thinness and cooling limitation.
    Have a nice day! 
    Peter
    W520 (4284-A99)
    Does someone’s post help you? Give them kudos as a reward, as they will do better to improve | Mark it as solved if the solution works for you, so it could be reference for others in the future
    =====================================
    Sound Enthusiast and Enhancement (Post comments, share mixes, etc.)
    Dolby Home Theater v4 ; IdeaPad Slate Tablet

  • Unable to Open Mail "index is read only

    I am unable to open my mail and receive the following message. Mail can’t open because its index is read-only. The index file is located in /MacBook Pro HR/Users/tommygorse/Library/Mail/Envelope Index.  If this file is on your computer, use the Get Info window in the Finder to change your permissions for this file to “Read & Write.”  I have tied this and I still get the same message.  I also tried permission repair and received the following message: Warning: SUID file “System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAg ent” has been modified and will not be repaired. Please advise.  Thank you.

    For whatever reason, I decided to trash the Envelope Index in the Mail Library.  I don"t know why I did this but it worked.   Thank goodness.
    Tommy

  • Selecting all columns makes oracle use more indexes than only selectng one?

    I have 3 queries here that differ only slightly, conceptually, but the plans are massively different. What I cant work out is that the difference is only in the select list.. The fields referenced in the where clause are properly indexed for this purpose
    SELECT
      scc.expiry_date
    FROM
      bw3.int_file_log_details  ifld
      INNER JOIN
      bw3.svc_card_status_change scsc
      USING
        (institution_number, file_number)
      INNER JOIN bw3.svc_client_cards scc
      USING
        (card_number)
    WHERE
      institution_number = '00000001' AND
      file_number = '00002504'This one above does a full table scan of SCC, over 3.5 million records
    SELECT
      card_number
    FROM
      bw3.int_file_log_details  ifld
      INNER JOIN
      bw3.svc_card_status_change scsc
      USING
        (institution_number, file_number)
      INNER JOIN bw3.svc_client_cards scc
      USING
        (card_number)
    WHERE
      institution_number = '00000001' AND
      file_number = '00002504'This one above does an index fast full scan of SCC's pk (which is cardnumber), as does doing a "SELECT null as dummy FROM..."
    SELECT
    FROM
      bw3.int_file_log_details  ifld
      INNER JOIN
      bw3.svc_card_status_change scsc
      USING
        (institution_number, file_number)
      INNER JOIN bw3.svc_client_cards scc
      USING
        (card_number)
    WHERE
      institution_number = '00000001' AND
      file_number = '00002504'This one above does the index range scan of the columns mentioned in the where clause and two index unique scans to link in IFLD and SCC (because they are joined on their PKs)
    I would expect all queries to run this way and completes in ~0.01 seconds
    Now, I get that oracle will sometimes use only an index instead of a table access when the requested data can be got from the index, but the actual query is pulling data from some columns not in indexes, so must be accessed in the table:
    SELECT
      scsc.card_prod_data as "Field1",
      substr(card_number,1,4)||' '||
        substr(card_number,5,4)||' '||
        substr(card_number,9,4)||' '||
        substr(card_number,13,4)||' '||
        substr(card_number,17) as "Field2",
      '                           ' as "Field3",
      scc.emboss_line_1 as "Field4",
      scc.emboss_line_2 as "Field5",
      TO_CHAR(TO_DATE(scc.last_issued_date, 'YYYYMMDD'), 'MM/YY ')||
        TO_CHAR(TO_DATE(scc.expiry_date, 'YYYYMMDD'), 'MM/YY  ')||
        '    ' as "Field6",
      'B'||
        card_number||
        '^'||
        RPAD('0', 27, ' ')||
        '^'||
        to_char(to_date(scc.expiry_date, 'YYYYMMDD'), 'YYMM')||
        service_category_code||
        '000000000000' as "Field7",
      card_number||
        '='||
        to_char(to_date(scc.expiry_date, 'YYYYMMDD'), 'YYMM')||
        service_category_code||
        '000000000000' as "Field8",
      card_number as "Field9",
      scsc.cvv_cvc2 as "Field10"
    FROM
      bw3.int_file_log_details  ifld
      INNER JOIN
      bw3.svc_card_status_change scsc
      USING
        (institution_number, file_number)
      INNER JOIN bw3.svc_client_cards scc
      USING
        (card_number)
    WHERE
      institution_number = '00000001' AND
      file_number = '00002504'This query above, which uses some data from all tables, does a table full scan of SCC, yet if I SELECT * FROM.. I get the expected index usage and table access by index rowid for all tables..
    Why is oracle doing an FTS when I choose only some columns, yet doing index access when I select * ?
    Edited by: charred on Oct 5, 2010 11:37 AM

    Selectivity of indexes?
    For a query linking these tables:
    int_file_log_details <-> svc_card_status_change <-> svc_client_cards
    I'm expecting Oracle to:
    Use an index range scan of the index on svc_card_status_change that is a nonunique index of institution_number and file number. Selectivity of this index is:
    1 institution number in the entire table
    59 distinct file numbers in the entire table
    4.1million records in the entire table
    From there, with the records it found, to use index unique scan of the PKs of int_file_log_details (file_number: 1 record required) and PK of svc_client_cards (card_number: poetntially thousands of records required)
    I can understand if oracle might decide it can get 69k records out of 4.1 million faster by FTS the cards table rather than having the indirection of the index... what I cannot understand is:
    If I select all the data from the query (SELECT *) it does unique index scans for the 2 records
    If I select say, only one non-indexed non-joined column from each table, oracle prefers a FTS of the cards table..
    Is oracle not realising that there are only 2 records I need out of cards? Why would select * differ? Is it that oracle thinks "select * is a large amount of data, so it'll be faster to use the index and target certain rows" vs "select one_column can be garnered more quickly by scanning the table and generating a lower overall memory load" ?

  • Firefox is only showing index of certain web sites

    going to a web site it is only showing the index of the page not the page. showing that it is not completely loading the page. the circle keeps going around and never completely loads. its almost like i am making a web page. not doing it on all sites i go too. just the ones i frequent like facebook, raceny, pogo.com

    I had posted the problem previously & accidently marked the problem as solved.
    I received the following message since:
    "I am not sure how my previous post solved the problem but since then I think I have found the answer.
    I simply enabled Shockwave Flash 10.0.32.18
    From the Firefox Homepage it is located under:
    Tools\Add Ons then select the PlugIns Tab
    Select Shockwave Flash then enable it.
    Regards,
    Phil "
    This has fixed the problem. Thanks Phil.

  • Theme only on index page

    Hi,
    I have a customer where i want to implement a theme only on the index page. The rest should just use SAP corbu. Is this possible maybe by using the cockpit feature in the configuration tables?

    You can assign a theme to a cockpit but your requirement, as far as I understand it, is to assign one theme to the index page and another one to everything else. That won't work. You are always using one cockpit, either the inbuilt one (/nwbc) or a named one. Even if there are multiple cockpits in the system, you will always be using one cockpit at a time depending on what ICF node you used.

  • Spotlight only up-to-date after re-indexing

    Ever since I got my (Intel) Mac, Spotlight worked like a charm, but indexed new files only after re-indexing by hand. A friend of mine who doesn't have an Intel based Mac, doesn't have any problems; created files are almost immediately indexed by Spotlight.
    Although I think it's a real handy tool, it does slow me down since each re-indexing takes about 15 minutes.
    Is this a bug in Spotlight (only for Intel) and is this already on the list at Apple? And is there anything I can do to correct this behaviour?

    Thanks Daniel, but the Xlab info doesn't cover this exact problem. Since I had this problem ever since I got my Mac out of the box, I am sure I didn't 'mess around the OS' and I certainly didn't use the Terminal (still haven't actually
    Could you tell me how the problem got solved for your students?
    The strange thing is that external HD's are indexed as soon as they are recognized by the system, but when I save a simple (new) textfile, Spotlight doesn't put the file in its index until I re-index by hand. I don't have any folders in the Privacy-section, nor are the directories hidden or anything.
    Today I used Mac Helpmate, but that didn't do anything for this problem.

  • HT4759 I have never used  "iwork for cloud beta" or "google chrome" to my knowledge to print. I wish icloud to please and thank you for you to delete this information! as it shows in the advanced settings for icloud when I was trying to print an index of

    My note on my ipad and Iphone have an index of the notes to the left on my copnuter!  I wanted to only print the index and the date after the index.  The computer would allow me to print the note but not the date it was indexed or the title to the left! of the index date!  Has anyone ever had this problem!  I am changing laptops and wanted to keep an index printed out for references but delete all the notes from this old notebook! 
    Please note my Ipad automatically changed to the ios7 update even when the Iphone 5 was with my spouse in Norfolk Va.  I had purchased an iphone 5 in feb with 32 gb verses 16 I was happy with it until I thought I was updating itunes to fix bugs and fixes.  It updated the ios7 program and the whole look of the iphone five changed and I am over 58 and have trouble keeping up and did not want to update!  I callled and had 436 days of insurance left on my phone and I asked them to keep te money for the upgrade and just give me back the 6ios. of course it is know.  Apple was trying to helpe get up to speed but the calendar was given me the most difficulty not being able to see appts forward enough to plan very well!  My spouse is retiring from the DOD  and for the first time in his life can have his on cell so I gave him my 5 and still had my old 4 got my ios6 back and  just now the phone is feeling pretty comfortable again for me. The only thing missing is siri i do miss her!  I never anticipated that my ipad would change to the ios7 on its on but the applestore in Tampa said that yes that happens oops! I now will try to self educate myself on the ios7.  I love my ipad but wish it had not jumped to the 7ios.  big problem again is I have is on my 5 it wasa a 32 and I have double or the max of icloud storage but just learned at the apple store that icloud does not store your photos on the cloud.  I am a grandmother and the soul pupose of me purchasing so much icloud storage was for my grandkids pics and now I found out you guys don't do this.  Where do you store the photos for people?   Help!  have mercy on me because even though the 436 days of service from Icloud left on my iphone 5 my spouse is the only one that can use it even tho my ipad automatically switched to the ios 7.  Really am trying to work with you apple because I think you have a better product but as far as customer service you can make an appt at the service center an hour away and then wait inline for 40 minutes for the genuis bar guys to make you feel like an idiot for not figuring this out on your own or I have to pay just to talk to your service department after I already have in my name 436 days left on my service contract!  The contract only goes with the phone even though your update changed my ipad also!  A little customer service that is given free of charge when you have some one really trying to educate themselves on and ios7 that they didn't even want would go a very long way toward keeping your customers happy otherwise once a more friendly tech company that offers the better product tops you. Its over!  You have a great product and people are paying you to help them lean how to navigate it!  The problem is once you have mastered one system that system is updated and you start over!  Maybe you could offe something for everyone!  You see my husband doesn't have to ever call apple because he has and IQ to high to measure!   Unfortunately the service I payed for is with his phone and I now have and I pad with the ios7 that converted automatically and when I call they tell me I must be told there will be a fee charged for this service!   One question I asked the support center apple store is how can the ipad convert when the iphone 5 is at the Norfolk Navy Base with my spouse and the ipad is here in Spring Hill Florida with me.  She said it just happens!  The service center nearest available to me is 1 hour away and I need an appt. With them to ask a simple question!.  Time is a commodity that is becoming more dear to me every day and it seems I am spending a great deal of it trying to solve a somewhat simple question to the experts no more than a 3 minute conversation could set me on the right track but I can't even buy insurance service for my ipad that just converted to ios 7 on its's own!  Sincerely I could use some help
    <E-mail Edited by Host>

    My note on my ipad and Iphone have an index of the notes to the left on my copnuter!  I wanted to only print the index and the date after the index.  The computer would allow me to print the note but not the date it was indexed or the title to the left! of the index date!  Has anyone ever had this problem!  I am changing laptops and wanted to keep an index printed out for references but delete all the notes from this old notebook! 
    Please note my Ipad automatically changed to the ios7 update even when the Iphone 5 was with my spouse in Norfolk Va.  I had purchased an iphone 5 in feb with 32 gb verses 16 I was happy with it until I thought I was updating itunes to fix bugs and fixes.  It updated the ios7 program and the whole look of the iphone five changed and I am over 58 and have trouble keeping up and did not want to update!  I callled and had 436 days of insurance left on my phone and I asked them to keep te money for the upgrade and just give me back the 6ios. of course it is know.  Apple was trying to helpe get up to speed but the calendar was given me the most difficulty not being able to see appts forward enough to plan very well!  My spouse is retiring from the DOD  and for the first time in his life can have his on cell so I gave him my 5 and still had my old 4 got my ios6 back and  just now the phone is feeling pretty comfortable again for me. The only thing missing is siri i do miss her!  I never anticipated that my ipad would change to the ios7 on its on but the applestore in Tampa said that yes that happens oops! I now will try to self educate myself on the ios7.  I love my ipad but wish it had not jumped to the 7ios.  big problem again is I have is on my 5 it wasa a 32 and I have double or the max of icloud storage but just learned at the apple store that icloud does not store your photos on the cloud.  I am a grandmother and the soul pupose of me purchasing so much icloud storage was for my grandkids pics and now I found out you guys don't do this.  Where do you store the photos for people?   Help!  have mercy on me because even though the 436 days of service from Icloud left on my iphone 5 my spouse is the only one that can use it even tho my ipad automatically switched to the ios 7.  Really am trying to work with you apple because I think you have a better product but as far as customer service you can make an appt at the service center an hour away and then wait inline for 40 minutes for the genuis bar guys to make you feel like an idiot for not figuring this out on your own or I have to pay just to talk to your service department after I already have in my name 436 days left on my service contract!  The contract only goes with the phone even though your update changed my ipad also!  A little customer service that is given free of charge when you have some one really trying to educate themselves on and ios7 that they didn't even want would go a very long way toward keeping your customers happy otherwise once a more friendly tech company that offers the better product tops you. Its over!  You have a great product and people are paying you to help them lean how to navigate it!  The problem is once you have mastered one system that system is updated and you start over!  Maybe you could offe something for everyone!  You see my husband doesn't have to ever call apple because he has and IQ to high to measure!   Unfortunately the service I payed for is with his phone and I now have and I pad with the ios7 that converted automatically and when I call they tell me I must be told there will be a fee charged for this service!   One question I asked the support center apple store is how can the ipad convert when the iphone 5 is at the Norfolk Navy Base with my spouse and the ipad is here in Spring Hill Florida with me.  She said it just happens!  The service center nearest available to me is 1 hour away and I need an appt. With them to ask a simple question!.  Time is a commodity that is becoming more dear to me every day and it seems I am spending a great deal of it trying to solve a somewhat simple question to the experts no more than a 3 minute conversation could set me on the right track but I can't even buy insurance service for my ipad that just converted to ios 7 on its's own!  Sincerely I could use some help
    <E-mail Edited by Host>

  • Difference b/w index and unique

    Hi,
    Difference b/w index and unique?

    hi,
    The optional additions UNIQUE or NON-UNIQUE determine whether the key is to be unique or non-unique, that is, whether the table can accept duplicate entries. If you do not specify UNIQUE or NON-UNIQUE for the key, the table type is generic in this respect. As such, it can only be used for specifying types. When you specify the table type simultaneously, you must note the following restrictions:
    You cannot use the UNIQUE addition for standard tables. The system always generates the NON-UNIQUE addition automatically.
    You must always specify the UNIQUE option when you create a hashed table.
    INDEX:
    An index can be considered a copy of a database table that has been reduced to certain fields. This copy is always in sorted form. Sorting provides faster access to the data records of the table, for example using a binary search. The index also contains a pointer to the corresponding record of the actual table so that the fields not contained in the index can also be read.
    The primary index is distinguished from the secondary indexes of a table. The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database
    You can also create further indexes on a table in the ABAP Dictionary. These are called secondary indexes. This is necessary if the table is frequently accessed in a way that does not take advantage of the sorting of the primary index for the access.
    Indexes speed up data selection from the database. They consist of selected fields of a table, of which a copy is then made in sorted order. If you specify the index fields correctly in a condition in the WHERE or HAVING clause, the system only searches part of the index (index range scan).
    The system automatically creates the primary index. It consists of the primary key fields of the database table. This means that for each combination of fields in the index, there is a maximum of one line in the table. This kind of index is also known as UNIQUE.
    If you cannot use the primary index to determine the result set because, for example, none of the primary index fields occur in the WHERE or HAVINGclauses, the system searches through the entire table (full table scan). For this case, you can create secondary indexes, which can restrict the number of table entries searched to form the result set.
    You create secondary indexes using the ABAP Dictionary. There you can create its columns and define it as UNIQUE. However, you should not create secondary indexes to cover all possible combinations of fields.
    Only create one if you select data by fields that are not contained in another index, and the performance is very poor. Furthermore, you should only create secondary indexes for database tables from which you mainly read, since indexes have to be updated each time the database table is changed. As a rule, secondary indexes should not contain more than four fields, and you should not have more than five indexes for a single database table.
    If a table has more than five indexes, you run the risk of the optimizer choosing the wrong one for a particular operation. For this reason, you should avoid indexes with overlapping contents.
    Secondary indexes should contain columns that you use frequently in a selection, and that are as highly selective as possible. The fewer table entries that can be selected by a certain column, the higher that column’s selectivity. Place the most selective fields at the beginning of the index. Your secondary index should be so selective that each index entry corresponds to, at most, five percent of the table entries. If this is not the case, it is not worth creating the index. You should also avoid creating indexes for fields that are not always filled, where their value is initial for most entries in the table.
    If all of the columns in the SELECT clause are contained in the index, the system does not have to search the actual table data after reading from the index. If you have a SELECT clause with very few columns, you can improve performance dramatically by including these columns in a secondary index.
    What is the difference between primary index and secondary index?
    http://help.sap.com/saphelp_47x200/helpdata/en/cf/21eb2d446011d189700000e8322d00/frameset.htm
    A difference is made between Primary & Secondary indexes to a table. the primary index consists of the key fields of the table and a pointer to the non-keys-fields of the table. The Primary index is generated automatically when a table is created and is created in the datebase as the same times as the table. It is also possible to define further indexes to a table in the ABAP/4 dictionary, which are then referred to as Secondary indexes.
    Message was edited by:
            Roja Velagapudi

  • What's difference between ASC and DESC index

    1 select count(*)
    2* from big_emp e where hiredate >= to_date('1980-01-01', 'YYYY-MM-DD') and hiredate <= to_date('1983-12-31', 'YYYY-MM-DD')
    COUNT(*)
    11971
    SQL> create index i_big_emp_hiredate on big_emp(hiredate);
    Index created.
    SQL> set autot trace
    SQL> select empno, ename, hiredate
    2 from big_emp e where hiredate >= to_date('1980-01-01', 'YYYY-MM-DD') and hiredate <= to_date('1983-12-31', 'YYYY-MM-DD') ;
    11971 rows selected.
    Execution Plan
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 11766 | 218K| 19 |
    |* 1 | TABLE ACCESS FULL| BIG_EMP | 11766 | 218K| 19 |
    SQL> drop index i_big_emp_hiredate;
    Index dropped.
    SQL> create index i_big_emp_hiredate on big_emp(hiredate desc);
    Index created.
    SQL> select empno, ename, hiredate
    2 from big_emp e where hiredate >= to_date('1980-01-01', 'YYYY-MM-DD') and hiredate <= to_date('1983-12-31', 'YYYY-MM-DD') ;
    11971 rows selected.
    Execution Plan
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 29 | 551 | 4 |
    | 1 | TABLE ACCESS BY INDEX ROWID| BIG_EMP | 29 | 551 | 4 |
    |* 2 | INDEX RANGE SCAN | I_BIG_EMP_HIREDATE | 53 | | 2 |
    i have 2 questions
    1. In "Expert one-on-one Oracle", Tom said, there is no deference between ASC and DESC index in case of one column because Oracle can just read in reverse order. but my test made me confused. why Oracle did "full table scan" only in ASC index???
    2. using "set autot trace" command. i believed the the "Rows" column mean the rows that Oracle access. Can you explain why the rows are 29(DESC) and 11766(ASC) in spite of the result is 11971. what is the exact meaning of "Rows" column in execution plan

    I think what you're seeing is a bug in the optimizer. If you had printed up the predicate section of the execution plan, this would be more obvious. I have the query:
    select *
    from   t1
    where  d1 between to_date('01-jan-2001')
              and     to_date('31-dec-2003')
    ;This returns one row per day for 3 years, and when a normal index is created on it, the optimizer calculates the correct cardinality and uses a sensible set of predicates. But when I use a descending index, this is what I get:
    Execution Plan
    Plan hash value: 1429545322
    | Id  | Operation                   | Name  | Rows  | Bytes | Cost  |
    |   0 | SELECT STATEMENT            |       |  1097 | 21940 |     2 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T1    |  1097 | 21940 |     2 |
    |*  2 |   INDEX RANGE SCAN          | T1_I1 |     5 |       |     2 |
    Predicate Information (identified by operation id):
       2 - access(SYS_OP_DESCEND("D1")>=HEXTORAW('8798F3E0FEF8FEFAFF')  AND
                  SYS_OP_DESCEND("D1")<=HEXTORAW('879AFEF8FEF8FEFAFF') )
           filter(SYS_OP_UNDESCEND(SYS_OP_DESCEND("D1"))>=TO_DATE('2001-01-0
                  1 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND
                  SYS_OP_UNDESCEND(SYS_OP_DESCEND("D1"))<=TO_DATE('2003-12-31 00:00:00',
                  'yyyy-mm-dd hh24:mi:ss'))Note the introduction of the strange sys_op_descend() function - which is related to the descending index implemention, and the extra FILTER predicates which introduce a significant extra selectivity effect. The optimizer is double-counting on selectivity effects, and introducing extra factors of 1% and 5% (I haven't checked exact details) due to the functions applied to columns and the range-based predicates.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk

  • Multi-column BITMAP index vs. multiple BITMAP indices?

    Given the table (simple, made-up example):
    CREATE TABLE applicant_diversity_info (
    applicant_diversity_id NUMBER(12), PRIMARY KEY(applicant_diversity_id),
    apply_date DATE,
    ssn_salted_md5 RAW(16),
    gender CHAR(1), CHECK ( (gender IS NULL OR gender IN ('M','F')) ),
    racial_continent VARCHAR2(30), CHECK ( (racial_continent IS NULL
    OR racial_continent IN ('Europe','Africa','America','Asia_Pacific')) ),
    ethnic_supergroup VARCHAR2(30), CHECK ( (ethnic_supergroup IS NULL OR ethnic_supergroup IN ('Latin American','Other')) ),
    hire_salary NUMBER(11,2),
    hire_month DATE,
    termination_salary NUMBER(11,2),
    termination_month DATE,
    termination_cause VARCHAR2(30), CHECK ( (termination_cause IS NULL
    OR termination_cause IN ('Resigned','Leave of Absence','Laid Off','Performance','Cause')) )
    Oracle (syntactically) allows me to create either one BITMAP index over all four small-cardinality columns
    CREATE BITMAP INDEX applicant_diversity_diversity_idx ON applicant_diversity_info (
    gender, racial_continent, ethnic_supergroup, termination_reason );
    or four independent indexes
    CREATE BITMAP INDEX applicant_diversity_gender_idx ON applicant_diversity_info ( gender );
    CREATE BITMAP INDEX applicant_diversity_race_idx ON applicant_diversity_info ( raceial_continent );
    etc.
    What is the difference between the two approaches; is there any meaningful difference in disk-space between the one multi-colum index and the four single-column indexes? Does it make a difference in what the query-planner will consider?
    And, if I define one multi-column BITMAP index, does the order of columns matter?

    >
    What is the difference between the two approaches; is there any meaningful difference in disk-space between the one multi-colum index and the four single-column indexes? Does it make a difference in what the query-planner will consider?
    And, if I define one multi-column BITMAP index, does the order of columns matter?
    >
    You may want to read this two-part blog, that answers that exact question, by recognized expert Richard Foote
    http://richardfoote.wordpress.com/2010/05/06/concatenated-bitmap-indexes-part-i-two-of-us/
    http://richardfoote.wordpress.com/2010/05/12/concatenated-bitmap-indexes-part-ii-everybodys-got-to-learn-sometime/
    As with many things Oracle the answer is 'it depends'.
    In short the same considerations apply for a concatenated index whether it is bitmap or b-tree: 1) will the leading column usually be in the predicate and 2) will most or all of the index columns be specified in the queries.
    Here are some quotes from part 1
    >
    Many of the same issues and factors in deciding to create a single, multi-column index vs. several, single column indexes apply to Bitmap indexes as they do with B-Tree indexes, although there are a number of key differences to consider as well.
    Another thing to note regarding a concatenated Bitmap index is that the potential number of index entries is a product of distinct combinations of data of the indexed columns.
    A concatenated Bitmap index can potentially use less or more space than corresponding single column indexes, it depends on the number of index entries that are derived and the distribution of the data with the table.
    >
    Here is the lead quote from part 2
    >
    The issues regarding whether to go for single column indexes vs. concatenated indexes are similar for Bitmap indexes as they are for B-Tree indexes.
    It’s generally more efficient to access a concatenated index as it’s only the one index with less processing and less throwaway rowids/rows to contend with. However it’s more flexible to have single column indexes, especially for Bitmap indexes that are kinda designed to be used concurrently, as concatenated indexes are heavily dependant on the leading column being known in queries.

  • How to update a large (over 4 million item) List(Of Byte) quickly by altering indexes contained in a Dictionary(Of Integer, Byte) where the Dictionaries keys are the indexes in the List(Of Byte) that need to be changed to the values for those indexes?

       I'm having some difficulty with transferring images from a UDP Client to a UDP Server. The issue is receiving the bytes necessary to update an original image sent from the Client to the Server and updating the Servers List(Of Byte) with the
    new bytes replacing bytes in that list. This is a simplex connection where the Sever receives and the Client sends to utilize the least amount of bandwidth for a "Remote Desktop" style application where the Server side needs image updates of whatever
    occurs on the Client desktop.
       So far I can tranfer images with no issue. The images can be be any image type (.Bmp, .Gif, .JPeg, .Png, etc). I was working with sending .JPeg's as they appear to be the smallest size image when a Bitmap is saved to a memory stream as type
    .JPeg. And then I am using GZip to compress that byte array again so it is much smaller. However on a loopback on my NIC the speed for sending a full size screen capture is not very fast as the Server updates fairly slowly unless the Clients screen capture
    Bitmap is reduced in size to about 1/3'd of the original size. Then about 12000 bytes or less are sent for each update.
       Due to .JPeg compression I suppose there is no way to get the difference in bytes between two .JPegs and only send those when something occurs on the desktop that alters the desktop screen capture image. Therefore I went to using .Bmp's as each
    .Bmp contains the same number of bytes in its array regardless of the image alterations on the desktop. So I suppose the difference in bytes from a second screen capture and an inital screen capture are what is different in the second image from the initial
    image.
       What I have done so far is save an initial Bitmap of a screen capture using a memory stream and saving as type .Bmp which takes less than 93 milliseconds for 4196406 bytes. Compressing that takes less than 118 milliseconds to 197325 bytes for
    the current windows on the desktop. When that is done PictureBox1 is updated from nothing to the captured image as the PictureBox's background image with image layout zoom and the PictureBox sized at 1/2 my screens width and 1/2 my screens height.
       Then I save a new Bitmap the same way which now contains different image information as the PictureBox is now displaying an image so its back color is no longer displayed (solid color Aqua) and the cursor has moved to a different location. The
    second Bitmap is also 4196406 in bytes and compressed it was 315473 bytes in size.
       I also just found code from this link Converting a Bitmap to a Byte Array (and Byte Array to Bitmap) which gets a byte array
    directly from a Bitmap and the size of that is 3148800 for whatever is full screen captured on my laptop. So I should be able to work with smaller byte arrays at some point.
       The issue I'm having is that once the Client sends an image of the desktop to the Server I only want to update the server with any differences occuring on the Clients desktop. So what I have done is compare the first screen captures bytes (stored
    in a List(Of Byte)) to the second screen captures bytes (stored in a List(Of Byte)) by using a For/Next for 0 to 4196405 where if a byte in the first screen captures List is not equal to a byte in the second screen captures List I add the index and byte of
    the second screen captures list to a Dictionary(Of Integer, Byte). The Dictionary then only contains the indexes and bytes that are different between the first screen capture and second screen capture. This takes about 125 milliseconds which I think is pretty
    fast for 4196406 byte comparison using a For/Next and adding all the different bytes and indexes for each byte to a Dictionary.
        The difference in Bytes between the inital screen capture and the second screen capture is 242587 as an example which changes of course. For that amount of bytes the Dictionary contains 242587 integers as indexes and 242587 bytes as different
    bytes totaling 485174 bytes for both arrays (keys, values).  Compressed the indexes go from 242587 to 43489 bytes and the values go from 242587 to 34982 bytes. Which means I will have to send 78, 481 bytes from the Client to the Server to update the display
    on the server. Quite smaller than the original 4196406 bytes of the second Bitmap saved to type .Bmp or the compressed size of that array which was 315473 bytes. Plus a few bytes I add as overhead so the server knows when an image array ends and how many packets
    were sent for the array so it can discard complete arrays if necessary since UDP is lossfull although probably not so much in current networks like it may originally have been when the internet started.
        In reality the data from the Client to the Server will mostly be the cursor as it moves and updating the Server image with only a few hundred bytes I would imagine at a time. Or when the cursor selects a Button for example and the Buttons
    color changes causing those differences in the original screen capture.
       But the problem is if I send the Dictionaries Indexes and Bytes to the Server then I need to update the original Bitmap List(Of Byte) on the server by removing the Bytes in the received informations Index locations array from the Servers Bitmap
    List(Of Byte) and replacing those Bytes with the Bytes in the received informations Byte array. This takes so long using a For/Next for however many indexes are in the received informations Index array to update the Bitmap List(Of Byte) on the server using
    "Bmp1Bytes.RemoveAt(Index As Integer)" followed by "Bmp1Bytes.Insert(Index As Integer, Item As Byte)" in the For/Next.
        I've tried various For/Next statements including using a new List(Of Byte) with If statements so If the the integer for the For/Next ='s the Key in a Dictionary(Of Integer, Byte) using a Counter to provide the Dictionaries Key value then
    the Dictionaries byte value will be added to the List(Of Byte) and the counter will increas by one Else the List(Of Byte) adds the original "Bmp1Bytes" byte at that index to the new List(Of Byte). This takes forever also.
       I also tried the same For/Next adding to a new Dictionary(Of Integer, Byte) but that takes forever too.
       I think I could use RemoveRange and AddRange to speed things up. But I don't know how to retrieve a contiguous range of indexes in the received indexes that need to be updated in the servers "Bmp1Bytes" List(Of Byte) from the received
    array of indexes and bytes which are in a Dictionary(Of Integer, Byte).  But I believe this would even be slower than some realistic method for replacing all Bytes in a List(Of Byte) when I have the indexes that need to be replaced and the bytes to replace
    them with.
       Even if I just used AddRange on a new List(Of Byte) to add ranges of bytes from the original "Bmp1Bytes" and the changes from the Dictionary(Of Integer, Byte) I think this would be rather slow. Although I don't know how to do that
    by getting contiguous ranges of indexes from the Dictionaries keys.
       So I was wondering if there is some method perhaps using Linq or IEnumerable which I've been unable to figure anything out which could do this.
       I do have some copy and pasted code which I don't understand how it works that I am using which I would guess could be altered for doing something like this but I can't find information that provides how the code works.  Or even if I did
    maybe I can't understand it. Like the code below which is extremely fast.
       Dim strArray() As String = Array.ConvertAll(Of Integer, String)(BmpComparisonDict.Keys.ToArray, Function(x) x.ToString())
    La vida loca

    Monkeyboy,
    That was quite a bit to read, but still a bit unclear. Could you put a specific list of goals/questions, asked in the smallest possible form?
    It seems like either you're making a program that monitors activity on your computer, or you're writing some kind of remote pc app.
    When you do get your bytes from using lockbits, keep in mind all the files header info would be lost. I think retaining the header info is worth the extra bytes.
    The other, thing: I'm not sure if you're taking 32bpp screen shots, but also keep in mind that the "whole desktop" is the final destination for blended graphics, if that makes sense. What I mean is that there is no need to capture an "alpha"
    channel for a desktop screenshot, as alpha would always be 255, this could save you 1 byte per pixel captured... Theres nothing "behind" the desktop, therefore no alpha, and every window shown above the desktop is already blended. I suggest using
    24Bpp for a full screen capture.
    Your X,Y information for the mouse could be stored as UINT16, this would save you a measly 2 bytes per location update/save.
    When you update your byte arrays, maybe you can turn the array into a stream and write to whatever index, however many bytes, that should prevent a "Shift" of bytes, and instead overwrite any bytes that "get in the way".
    ex
    Dim example As String = "This is an example."
    Dim insertString As String = "was"
    Dim insertBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(insertString)
    Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes(example)
    Dim modifiedBytes As Byte() = {}
    Using ms As New System.IO.MemoryStream(bytes)
    ms.Position = 5
    ms.Write(insertBytes, 0, 3)
    modifiedBytes = ms.ToArray
    End Using
    Dim newString As String = System.Text.Encoding.ASCII.GetString(modifiedBytes)
    'Notice how below there isn't the word "is" anymore, and that there isn't a
    'space.
    'This demonstrates that you overwrite existing data, versus shifting everything to
    'the right.
    'Returns: This wasan example.
    MsgBox(newString)
    “If you want something you've never had, you need to do something you've never done.”
    Don't forget to mark
    helpful posts and answers
    ! Answer an interesting question? Write a
    new article
    about it! My Articles
    *This post does not reflect the opinion of Microsoft, or its employees.
    Well it's too much to read. I was really tired when I wrote it. Even the below is too much to read but perhaps gets the point across of what I would like to do which I think
    Joel Engineer may have answered but I'm not sure. As I'm still too tired to understand that yet and research what he said in order to figure it out yet.
    But maybe the code below can provide the concept of the operation with the comments in it. But seeing as how I'm still tired it may be confused.
    Option Strict On
    Imports System.Windows.Forms
    Imports System.IO
    Imports System.IO.Compression
    Imports System.Drawing.Imaging
    Imports System.Runtime.InteropServices
    Public Class Form1
    Dim Bmp1Bytes As New List(Of Byte)
    Dim Bmp1BytesCompressed As New List(Of Byte)
    Dim Bmp2Bytes As New List(Of Byte)
    Dim BmpComparisonDict As New Dictionary(Of Integer, Byte)
    Dim BmpDifferenceIndexesCompressed As New List(Of Byte)
    Dim BmpDifferenceBytesCompressed As New List(Of Byte)
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    SomeSub()
    End Sub
    Private Sub SomeSub()
    ' Pretend this code is in UDP Client app. A screen capture is performed of the desktop. Takes about 90 milliseconds.
    Bmp1Bytes.Clear()
    Using BMP1 As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    Using g1 As Graphics = Graphics.FromImage(BMP1)
    g1.CopyFromScreen(0, 0, 0, 0, BMP1.Size)
    Cursor.Draw(g1, New Rectangle(Cursor.Position.X, Cursor.Position.Y, Cursor.Size.Width, Cursor.Size.Height))
    Using MS As New MemoryStream
    BMP1.Save(MS, System.Drawing.Imaging.ImageFormat.Bmp)
    Bmp1Bytes.AddRange(MS.ToArray)
    End Using
    End Using
    End Using
    Bmp1BytesCompressed.AddRange(Compress(Bmp1Bytes.ToArray))
    ' UDP Client app sends Bmp1BytesCompressed.ToArray to UDP Server which is the entire image of the desktop that the UDP
    ' Client is on. This image takes awhile to send since compressed it is about 177000 bytes from over 4000000 bytes.
    ' I will be using different code just to get the bytes from the actual Bitmap in the future. That is not important for now.
    ' Pretend the UDP Server has received the bytes, decompressed the array received into a List(Of Byte) and is displaying
    ' the image of the UDP Clients desktop in a PictureBox.
    ' Now the image on the UDP Clients desktop changes due to the mouse cursor moving as an example. Therefore a new Bitmap
    ' is created from a screen capture. This takes about 90 milliseconds.
    Bmp2Bytes.Clear()
    Using BMP2 As New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    Using g1 As Graphics = Graphics.FromImage(BMP2)
    g1.CopyFromScreen(0, 0, 0, 0, BMP2.Size)
    Cursor.Draw(g1, New Rectangle(Cursor.Position.X, Cursor.Position.Y, Cursor.Size.Width, Cursor.Size.Height))
    Using MS As New MemoryStream
    BMP2.Save(MS, System.Drawing.Imaging.ImageFormat.Bmp)
    Bmp2Bytes.AddRange(MS.ToArray)
    End Using
    End Using
    End Using
    ' Now I have the original images bytes in Bmp1Bytes and the new images bytes in Bmp2Bytes on the UDP Client. But I don't
    ' want to send all of the bytes in Bmp2Bytes to the UDP Server. Just the indexes of and the bytes that are different in
    ' Bmp2Bytes from Bmp1Bytes.
    ' This takes less than 100 milliseconds for what I've tested so far where over 500000 bytes in Bmp2Bytes are different
    ' than the bytes in Bmp1Bytes. Usually that amount would be much less. But during testing I was displaying the image
    ' from Bmp1 bytes in a PictureBox so a large amount of data would change between the first screen shot, the PictureBox
    ' then displaying an image on the same PC and then the second screen shot.
    BmpComparisonDict.Clear()
    For i = 0 To Bmp1Bytes.Count - 1
    If Bmp1Bytes(i) <> Bmp2Bytes(i) Then
    BmpComparisonDict.Add(i, Bmp2Bytes(i))
    End If
    Next
    ' So now I have all the difference bytes and their indexes from Bmp2Bytes in the BmpComparisonDict. So I compress
    ' the indexes into on List and the Bytes into another List.
    BmpDifferenceIndexesCompressed.Clear()
    BmpDifferenceBytesCompressed.Clear()
    BmpDifferenceIndexesCompressed.AddRange(Compress(BmpComparisonDict.Keys.SelectMany(Function(d) BitConverter.GetBytes(d)).ToArray()))
    BmpDifferenceBytesCompressed.AddRange(Compress(BmpComparisonDict.Values.ToArray))
    ' Now pretend the UDP Client has sent both those arrays to the UDP Server which has added both decompressed arrays
    ' to a Dictionary(Of Integer, Byte). And the server has the original image decompressed bytes received in a List
    ' called Bmp1Bytes also.
    ' This is where I am stuck. The UDP Server has the Dictionary. That part was fast. However there is no
    ' fast method I have found for creating a new List(Of Byte) where bytes in the originally received List(Of Byte) that
    ' do not have to be altered are placed into a new List(Of Byte) except for the indexes listed in the
    ' Dictionary(Of Integer, Byte) that need to be placed into the appropriate index locations of the new List(Of Byte).
    ' The below example for doing so is exceptionally slow. Pretend UpdateDictionary has all of the decompressed indexes
    ' and bytes received by the UDP Server for the update contained within it.
    Dim UpdateDictionary As New Dictionary(Of Integer, Byte)
    Dim UpdatedBytes As New List(Of Byte)
    Dim Counter As Integer = 0
    For i = 0 To Bmp1Bytes.Count - 1
    If i = UpdateDictionary.Keys(Counter) Then ' Provides the index contained in the Keys for the Dictionary
    UpdatedBytes.Add(UpdateDictionary.Values(Counter))
    Counter += 1
    If Counter > UpdateDictionary.Count - 1 Then Counter = 0
    Else
    UpdatedBytes.Add(Bmp1Bytes(i))
    End If
    Next
    ' So what I'm trying to do is find an extremely fast method for performing something similar to what the
    ' above operation performs.
    End Sub
    Private Function Compress(BytesToCompress() As Byte) As List(Of Byte)
    Dim BytesCompressed As New List(Of Byte)
    Using compressedStream = New MemoryStream()
    Using zipStream = New GZipStream(compressedStream, CompressionMode.Compress)
    zipStream.Write(BytesToCompress, 0, BytesToCompress.Count)
    zipStream.Close()
    BytesCompressed.AddRange(compressedStream.ToArray)
    End Using
    End Using
    Return BytesCompressed
    End Function
    Private Function Decompress(BytesToDecompress() As Byte) As List(Of Byte)
    Dim BytesDecompressed As New List(Of Byte)
    Using DecompressedStream = New MemoryStream()
    Using zipStream = New GZipStream(DecompressedStream, CompressionMode.Decompress)
    zipStream.Write(BytesToDecompress, 0, BytesToDecompress.Count)
    zipStream.Close()
    BytesDecompressed.AddRange(DecompressedStream.ToArray)
    End Using
    End Using
    Return BytesDecompressed
    End Function
    End Class
    La vida loca

  • Creating a bit map index on a partitioned table

    Dear friends,
    I am trying to create a bitmap index on a partitioned table but am receiving the following ORA error. Can you please let me know on how to create a local bit map index as the message suggests?
    ERROR at line 1:
    ORA-25122: Only LOCAL bitmap indexes are permitted on partitioned tables
    Trying to use the keyword local in front leads to wrong syntax.
    Thanks in advance !!
    Somnath

    ORA-25122 Only LOCAL bitmap indexes are permitted on partitioned tables
    Cause: An attempt was made to create a global bitmap index on a partitioned table.
    Action: Create a local bitmap index instead
    Example of a Local Index Creation
    CREATE INDEX employees_local_idx ON employees (employee_id) LOCAL;
    Example is about btree and I think it will work for bitmap also.

  • Primary keys and index

    Hi,
       I got these question in interview Plz answer them
       1. Maximum number of primary keys u can use for a table?
       2. Maximum number of indexes u can create?
       3. Maximum number of secondary indexes?
       4. Maximum number fields in a table?
       5. Maximum length of primary key field?
    Plz answer these questions
    regards,
    kumar

    >>1. Maximum number of primary keys u can use for a table?
    16
    >>2. Maximum number of indexes u can create?
    >>3. Maximum number of secondary indexes?
    Only 16 Primary Index and n number of secondary indexes.
    >>4. Maximum number fields in a table?
    249
    >>5. Maximum length of primary key field?
    255
    Cheers,
    Hakim
    Mark all useful answers..Close the thread once your question has been answered.

  • SELECT QUERY  BASED ON SECONDARY INDEX

    Hi all,
    CAN ANYONE TELL ME HOW TO WRITE SELECT QUERY BASED ON SECONDARY INDEX.
    IN WHAT WAY DOES IT IMPROVE PERFORMANCE.
    i KNOW WHEN CREATING SECONDARY INDEX I NEED TO GIVE AN INDEX NO -iT SHOULD BE ANY NUMBER RIGHT?
    I HAVE TO LIST ALL PRIMARY KEYS FIRST AND THEN THE FIELD FOR WHICH I AM CREATING SECONDARY INDEX RIGHT?
    LETS SAY I HAVE 2 PRIMARY KEYS AND I WANT TO CREATE SEONDARY INDEX FOR 2 FIELDS THEN
    I NEED TO CREATE A SEPERTE SECONDARY INDEX FOR EACH ONE OF THOSE FIELDS OR ONE SHOULD BE ENOUGH
    pLS LET ME KNOW IF IAM WRONG

    HI,
    If you cannot use the primary index to determine the result set because, for example, none of the primary index fields occur in the WHERE or HAVINGclauses, the system searches through the entire table (full table scan). For this case, you can create secondary indexes, which can restrict the number of table entries searched to form the result set.
    You create secondary indexes using the ABAP Dictionary. There you can create its columns and define it as UNIQUE. However, you should not create secondary indexes to cover all possible combinations of fields.
    Only create one if you select data by fields that are not contained in another index, and the performance is very poor. Furthermore, you should only create secondary indexes for database tables from which you mainly read, since indexes have to be updated each time the database table is changed. <b>As a rule, secondary indexes should not contain more than four fields</b>, <b>and you should not have more than five indexes for a single database table</b>.
    <b>What to Keep in Mind for Secondary Indexes:</b>
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eb2d446011d189700000e8322d00/content.htm
    http://www.sap-img.com/abap/quick-note-on-design-of-secondary-database-indexes-and-logical-databases.htm
    Regards
    Sudheer

Maybe you are looking for

  • How to install SharePoint server 2013 in windows server 2012 R2

    Hi, I have SharePoint server 2013, and I want to install it on windows server 2012 R2 version. Can you guide me on how to install it?, or you if you got the download link of the full product of the latest release of SharePoint 2013 with sp1, please g

  • Using a shared drive over several macs

    I have several macs, with separate user accounts for the family on each. I have a central one, a 2010 Mac Mini, that I have an external drive attached to. this is to be used as the main iTunes server for everyone. however, even if I make this drive t

  • LIKE statement in CASE statement

    Hi, I have a table called amounttagged as below Amount Tag 10000 ABDCBD 20000 CBDADE 30000 CBDABD 40000 ABDADE and my sql statement is as below, select Amount, case when tag like '%ABD%' then 'ABD' else when tag like '%CBD%' then 'CBD' else 'ADE' end

  • ODS reporting questions

    Hi BW Gurus, 1) Is it possible to report from a staging ODS ( BEx reporting flag switched off ) using an infoset or some other means ? 2) The data valoume in this  ODS is around 200 Million records in Production . What would happen if I changed the s

  • Air mobile encryptedlocalstore not working at android

    hi, i have a problem in my mobile application i use encryptedlocalstore to store user id and password and packaged apk with captive-runtime but some device without adobe air, store and get data with encrypedlocalstore not working when i install adobe