Building indexes on top of BDB

Hi,
I have a need to index multiple entries based on the same key. Potentially for the same key I can have millions of duplicate values. One of the problems I have seen if once this scales the concurrency for inserts searching for a non existent entry can perform poorly.
What advice does the community have in terms of solving problems in this space?

Hi,
Do you mean create multiple indexes and query by join cursor? You could set DB_DUPSORT in secondary index to achieve better performance on query. For more details, you could refer to DB->set_flags().
Emily

Similar Messages

  • Build index on olap's table

    Hi,
    I am on an OLAP application which has a table having millions of records, and the table doesn't have any index. When checking the data found one particular column has total less than 50 distinct values which likely to be a good candidate for building index against. Another column on the same table is composed of [fixed_character_string]_[random_value], e.g. BLABLABLA_000000001, BLABLABLA_000000002, etc. what kind of index should I build, normal index for the first one, and bitmap index for the second?
    Last, This is a partitioned table.
    Regards

    rac100g wrote:
    When checking the data found one particular column has total less than 50 distinct values which likely to be a good candidate for building index against. Not true.
    rac100g wrote:
    Another column on the same table is composed of [fixed_character_string]_[random_value], e.g. BLABLABLA_000000001, BLABLABLA_000000002, Sounds like you should have 2 columns and not one.
    In general, we're not going to be able to help you much with the level of detail you have given us.
    If you want to share DDL's for the tables, data volumes / distributions as well as the types of queries your application is going to be issuing then we may be able to get somewhere. You may also want to look at using enterprise manager / tuning pack (if your licensed for it), check the documentation for your version (which you should always mention when posting a question).

  • Getting th following error while trying to do BUILD INDEX for search in BCC

    Hi I am getting the following error while I am trying to build index through search administration from BCC.
    I am using windows7, Weblogic 10.3.2 and ATG9.2
    On BCC screen I am getting the message as : An unexpected error has occurred. Please try again later or contact system administrator.
    In the console logs, the following error is occurring:
    2011-10-06 18:26:58,319;;;org.apache.commons.digester.Digester.sax;;;DEBUG;endDocument()
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService No partition_step step found in task '
    700001' of type 'check' atg.search.exception.ObjectNotFoundException: SyncStepDefinition not found.. id=null, item-desciptor=null
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at atg.searchadmin.repository.
    beans.methods.BaseSyncTaskMethods.setSyncStepDefinitionOption(BaseSyncTaskMethods.java:307)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at atg.searchadmin.repository.
    beans.methods.BaseSyncTaskMethods.setPartitionReuseType(BaseSyncTaskMethods.java:101)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at atg.searchadmin.repository.
    beans.methods.BaseSyncTaskMethods.setPartitionReuseType(BaseSyncTaskMethods.java:91)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at atg.searchadmin.repository.
    beans._SyncTaskDefinition_Impl.setPartitionReuseType(_SyncTaskDefinition_Impl.java:107)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at atg.searchadmin.adminui.for
    mhandlers.EstimateIndexSummaryFormHandler.createTask(EstimateIndexSummaryFormHandler.java:144)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at atg.searchadmin.adminui.for
    mhandlers.EstimateIndexSummaryFormHandler.handlePerformSyncTask(EstimateIndexSummaryFormHandler.java:236)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at sun.reflect.NativeMethodAcc
    essorImpl.invoke0(Native Method)
    **** Error Thu Oct 06 18:27:35 CEST 2011 1317918455348 /atg/searchadmin/repository/service/SyncService at sun.reflect.NativeMethodAcc

    Please check:
    1) Values of in engineDir and deployShare in LaunchingService component
    2) Search environment name
    3) To create a full index, the indexing engine requires a clean partition, a file from which all indexes are created: /atg/search/routing/RoutingSystemService
    You need to identify the location of the clean partition by creating a /localconfig/atg/search/routing/RoutingSystemService.properties file. Use the cleanPhysicalPartitionPath property
    to identify the full path to the clean partition. There is a copy of the clean partition located at <Searchdir>/SearchEngine/operatingsystem/data/initial.index. To resolve the path
    correctly, use a relative path to identify the clean partition location as a local copy. For example: cleanPhysicalPartitionPath =../data/initial.index
    Thanks and regards,
    Anuj

  • Build Indexes Script Stopped After 20 Indexes. Is there a limit?

    I created a script to build indexes for my database. I've run it several times and the scrip stops (is shown as cancelled) aftr 20 indexes are built. Is there a limit to the number of indexes available in a database for XE?

    I created this file using an export from the database on another machine.
    I then edited the export file to collect all the "create index" sql statements
    into a single file.
    I am running this file Index.sql using the XE SQL>SQL Scripts window,
    clicking on the script file, and selecting Run.

  • Maximum number of index per entity in BDB JE

    Can any one tell me the maximum number of index per entity in BDB JE implementation?

    Hi,
    A user is not have the No. of processor but a work process can handle N No. of users. If a user hit any transaction v acn say from  a list of N worl proceesor which has been taken the work.
    Correct if I am wrong.
    Regards
    Syed.

  • Building index from multiple master and child relationship tables

    Hello,
    My question is:
    Is it possible to create the index for master and child tables?
    If yes, can you please point me out to any links or give me an example.
    Actually i just followed this below link to create the index using multiple tables
    Building index from multiple tables for text search
    I am able to create the index using above link,but problem accured , when i search for one master data column value then it is returning many rows with same master data for each child row.
    for example
    SELECT
    a.conc_program_name,
    a.conc_program_desc,
    b.param_name
    FROM a_master a, b_child b
    WHERE b.report_dtls_id = a.report_id
    AND CONTAINS (a.dummy, 'PAY') > 0
    Which retruns
    PAY Master A
    PAY Master B
    PAY Master C
    Please let me know is there any way i can restrict this to single row with concatination of child data like
    PAY Master A B C
    Another doubt is ,i have the column value like p_consolidation_set_id,when i give this in CONTAINS (a.dummy, 'p_consolidation_set_id') > 0 ,then not able to get the any results.
    please let me what shall i do for this issue.
    Thanks
    Message was edited by:
    user496798

    There are various ways to concatenate the values. One nice generic solution is to use Tom Kyte's stragg function:
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:2196162600402
    If p_consolidation_set_id is a variable name, not a value, then do not put quotes around it.
    Message was edited by:
    Barbara Boehmer

  • What's its meaning? "% java lia.meetlucene.Indexer build/index /lucene"

    I try it in the common line, aways show error:
    Exception in thread "main" java.lang.NoClassDefFoundError: lia/lucene/Indexer

    I have typed this 'java lia.meetlucene.Indexer build/index /lucene' into the command prompt to run indexer but failed.
    The error shows:
    Exception in thread 'main' java.lang.NoClassDefFoundError: lia/meetlucene/Indexer
    Hence, i don't understand how to use the command prompt to run the indexer that i have just built.
    thanks.

  • After building index is crawler deletes the data from crawl db?

    HI
    how the search service crawl component works,
    each time after building index is crawler deletes the data from crawl db
    adil

    Hi Adil,
    Index Database is usually called Crawl Database.
    I found a series of articles which goes through what these components are, how they work together, and how to provision them:
    http://blogs.msdn.com/b/russmax/archive/2010/04/16/search-2010-architecture-and-scale-part-1-crawl.aspx
    http://blogs.msdn.com/b/russmax/archive/2010/04/23/search-2010-architecture-and-scale-part-2-query.aspx
    SharePoint Server 2010 Enterprise Search Evaluation Guide:
    https://www.microsoft.com/en-us/download/details.aspx?id=24189
    Regards,
    Rebecca Tu
    TechNet Community Support

  • Exeception while building index for viewController Project

    Hi,
    When i work with the viewController project, i have this message in the window Messages-log :
    Aug 18, 2010 1:43:54 PM oracle.ideimpl.index.IndexRoot run
    SEVERE: Exception while building index for C:\JDeveloper\Easy\EasyPilot\Trunk\EPILOTV2\ViewController\public_html
    java.lang.ArrayIndexOutOfBoundsException: -2
    *     at oracle.ideimpl.index.IndexRoot.mergeData(IndexRoot.java:773)*
    *     at oracle.ideimpl.index.IndexRoot.saveIndex(IndexRoot.java:726)*
    *     at oracle.ideimpl.index.IndexRoot.run(IndexRoot.java:610)*
    *     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)*
    *     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)*
    *     at java.util.concurrent.FutureTask.run(FutureTask.java:138)*
    *     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)*
    *     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)*
    *     at java.lang.Thread.run(Thread.java:619)*
    which causes Jdeveloper to ask me to exit from Jdeveloper.
    What happens ? What i have to do to correct the problem cause it seems dangerous.
    Thanks for any help,
    David

    Sorry,
    i have not precised that i work with Jdev 11.1.1.1.0 studio edeition version
    hope it will help
    David

  • Building index on a map element in DPL

    Hi,
    If I have an entity which has a map in its data elements:
    @Entity
    static class Person {
    @PrimaryKey
    String ssn;
    Map<String, String> attributes;
    where the map takes key value pairs for the person attributes like { ("name","Jane"), ("age", "25") }. Is there a way to build a secondary index on the name attribute, meaning that the index is on attributes.get("name")?
    Thanks,
    Walaa.

    Using the DPL, the only way to do this (that I know of) is to create a many-many secondary index. Each key in the index could be a two part (name, value) key object. For example:
    @Entity
    static class Person {
        @PrimaryKey
        String ssn;
        @SecondryKey(relate=MANY_TO_MANY)
        Set<Atrribute> attributes;
    @Persistent
    static class Attribute {
        @KeyField(1)
        String name;
        @KeyField(2)
        String value;
    }You can use the SecondaryIndex<Attribute, String, Person> to query Person by Attribute.
    You previously said that you're using the collections API with a TupleSerialBinding, so I'm a little confused. I guess you're exploring multiple APIs?
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Building index from multiple tables for text search

    Hallo,
    I had a look at how to build a index table to optimize search with Oracle text.
    At the moment we are using a JOIN of tables to search for a text in several fields located in different tables.
    My question is:
    Is it possible to create that index table from several tables?
    If yes, can you point me out to any links or give me an example.
    So far, all the examples I read were about 1 table only.
    Thanks
    Elisabeth

    The following is an extension of the original example. It uses ctx_ddl.sync_index to synchronize the index and shows the changes in one of the index tables and shows that the query finds the newly synchronized data. It also shows how this only happens when the column that the index is on is updated. In this example, the index is on the dummy column. The first update does not update the dummy column, so the ctx_ddl.sync_index command does not synchronize the new data. The second update does update the related dummy column, so ctx_ddl.sync_index does synchronize the new data. Lastly, I showed what happens to one of the index tables when you rebuild the index. Notice the reduction in rows in the index table after the rebuild process. You could also rebuild online or drop and recreate the index.
    SCOTT@10gXE> DROP TABLE addresses
      2  /
    Table dropped.
    SCOTT@10gXE> DROP TABLE customers
      2  /
    Table dropped.
    SCOTT@10gXE> CREATE TABLE customers
      2    (customer_id NUMBER,
      3       first_name  VARCHAR2(15),
      4       last_name   VARCHAR2(15),
      5       dummy         VARCHAR2(1),
      6    CONSTRAINT   customers_pk PRIMARY KEY (customer_id))
      7  /
    Table created.
    SCOTT@10gXE> CREATE TABLE addresses
      2    (customer_id NUMBER,
      3       street         VARCHAR2(15),
      4       city         VARCHAR2(15),
      5       state         VARCHAR2(2),
      6    CONSTRAINT   addresses_fk FOREIGN KEY (customer_id)
      7                REFERENCES customers (customer_id))
      8  /
    Table created.
    SCOTT@10gXE> GRANT SELECT ON customers TO ctxsys
      2  /
    Grant succeeded.
    SCOTT@10gXE> GRANT SELECT ON addresses TO ctxsys
      2  /
    Grant succeeded.
    SCOTT@10gXE> CONNECT CTXSYS/ctxsys_password
    Connected.
    CTXSYS@10gXE>
    CTXSYS@10gXE> CREATE OR REPLACE PROCEDURE concat_cols
      2    (p_rowid IN     ROWID,
      3       p_clob     IN OUT CLOB)
      4  AS
      5    v_clob            CLOB;
      6  BEGIN
      7    FOR c1 IN
      8        (SELECT customer_id, first_name || ' ' || last_name AS data
      9         FROM      scott.customers
    10         WHERE  ROWID = p_rowid)
    11    LOOP
    12        v_clob := v_clob || c1.data;
    13        FOR c2 IN
    14          (SELECT ' ' || street || ' ' || city || ' ' || state AS data
    15           FROM   scott.addresses a
    16           WHERE  a.customer_id = c1.customer_id)
    17        LOOP
    18          v_clob := v_clob || c2.data;
    19        END LOOP;
    20    END LOOP;
    21    p_clob := v_clob;
    22  END concat_cols;
    23  /
    Procedure created.
    CTXSYS@10gXE> SHOW ERRORS
    No errors.
    CTXSYS@10gXE> GRANT EXECUTE ON concat_cols TO scott
      2  /
    Grant succeeded.
    CTXSYS@10gXE> CONNECT scott/tiger
    Connected.
    SCOTT@10gXE>
    SCOTT@10gXE> EXEC CTX_DDL.DROP_PREFERENCE ('concat_cols_datastore')
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> BEGIN
      2    CTX_DDL.CREATE_PREFERENCE ('concat_cols_datastore', 'USER_DATASTORE');
      3    CTX_DDL.SET_ATTRIBUTE ('concat_cols_datastore', 'PROCEDURE', 'ctxsys.concat_cols');
      4  END;
      5  /
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> CREATE INDEX customer_text_idx ON customers (dummy)
      2  INDEXTYPE IS CTXSYS.CONTEXT
      3  PARAMETERS ('datastore concat_cols_datastore')
      4  /
    Index created.
    SCOTT@10gXE> INSERT INTO customers VALUES (1, 'Bob', 'Smith', NULL)
      2  /
    1 row created.
    SCOTT@10gXE> INSERT INTO addresses VALUES (1, 'Noplace', 'Nowhere', 'CA')
      2  /
    1 row created.
    SCOTT@10gXE> INSERT INTO customers VALUES (2, 'Bob', 'Jones', NULL)
      2  /
    1 row created.
    SCOTT@10gXE> INSERT INTO addresses VALUES (2, 'Smith St.', 'Somewhere', 'CA')
      2  /
    1 row created.
    SCOTT@10gXE> EXEC CTX_DDL.SYNC_INDEX ('customer_text_idx')
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> COLUMN   token_text FORMAT A30
    SCOTT@10gXE> SELECT   token_text, token_type, token_first, token_last, token_count
      2  FROM     dr$customer_text_idx$i
      3  /
    TOKEN_TEXT                     TOKEN_TYPE TOKEN_FIRST TOKEN_LAST TOKEN_COUNT
    BOB                                     0           1          2           2
    CA                                      0           1          2           2
    JONES                                   0           2          2           1
    NOPLACE                                 0           1          1           1
    NOWHERE                                 0           1          1           1
    SMITH                                   0           1          2           2
    SOMEWHERE                               0           2          2           1
    ST                                      0           2          2           1
    8 rows selected.
    SCOTT@10gXE> SELECT   c.first_name, c.last_name, a.street, a.city
      2  FROM     customers c, addresses a
      3  WHERE    c.customer_id = a.customer_id
      4  AND      CONTAINS (C.dummy, 'Smith') > 0
      5  /
    FIRST_NAME      LAST_NAME       STREET          CITY
    Bob             Smith           Noplace         Nowhere
    Bob             Jones           Smith St.       Somewhere
    SCOTT@10gXE> -- dummy is not updated, so the index is not synchronized:
    SCOTT@10gXE> UPDATE   addresses
      2  SET      city = 'Anywhere'
      3  WHERE    city = 'Somewhere'
      4  /
    1 row updated.
    SCOTT@10gXE> EXEC CTX_DDL.SYNC_INDEX ('customer_text_idx')
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> SELECT   token_text, token_type, token_first, token_last, token_count
      2  FROM     dr$customer_text_idx$i
      3  /
    TOKEN_TEXT                     TOKEN_TYPE TOKEN_FIRST TOKEN_LAST TOKEN_COUNT
    BOB                                     0           1          2           2
    CA                                      0           1          2           2
    JONES                                   0           2          2           1
    NOPLACE                                 0           1          1           1
    NOWHERE                                 0           1          1           1
    SMITH                                   0           1          2           2
    SOMEWHERE                               0           2          2           1
    ST                                      0           2          2           1
    8 rows selected.
    SCOTT@10gXE> SELECT   c.first_name, c.last_name, a.street, a.city
      2  FROM     customers c, addresses a
      3  WHERE    c.customer_id = a.customer_id
      4  AND      CONTAINS (C.dummy, 'Anywhere') > 0
      5  /
    no rows selected
    SCOTT@10gXE> -- once dummy is updated, the index is synchronized:
    SCOTT@10gXE> UPDATE   customers
      2  SET      dummy = NULL
      3  WHERE    customer_id = 2
      4  /
    1 row updated.
    SCOTT@10gXE> EXEC CTX_DDL.SYNC_INDEX ('customer_text_idx')
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> SELECT   token_text, token_type, token_first, token_last, token_count
      2  FROM     dr$customer_text_idx$i
      3  /
    TOKEN_TEXT                     TOKEN_TYPE TOKEN_FIRST TOKEN_LAST TOKEN_COUNT
    BOB                                     0           1          2           2
    CA                                      0           1          2           2
    JONES                                   0           2          2           1
    NOPLACE                                 0           1          1           1
    NOWHERE                                 0           1          1           1
    SMITH                                   0           1          2           2
    SOMEWHERE                               0           2          2           1
    ST                                      0           2          2           1
    ANYWHERE                                0           3          3           1
    BOB                                     0           3          3           1
    CA                                      0           3          3           1
    JONES                                   0           3          3           1
    SMITH                                   0           3          3           1
    ST                                      0           3          3           1
    14 rows selected.
    SCOTT@10gXE> SELECT   c.first_name, c.last_name, a.street, a.city
      2  FROM     customers c, addresses a
      3  WHERE    c.customer_id = a.customer_id
      4  AND      CONTAINS (C.dummy, 'Anywhere') > 0
      5  /
    FIRST_NAME      LAST_NAME       STREET          CITY
    Bob             Jones           Smith St.       Anywhere
    SCOTT@10gXE> -- notice the changes if the index is rebuilt or dropped and recreated,
    SCOTT@10gXE> ALTER INDEX customer_text_idx REBUILD
      2  /
    Index altered.
    SCOTT@10gXE> SELECT   token_text, token_type, token_first, token_last, token_count
      2  FROM     dr$customer_text_idx$i
      3  /
    TOKEN_TEXT                     TOKEN_TYPE TOKEN_FIRST TOKEN_LAST TOKEN_COUNT
    ANYWHERE                                0           2          2           1
    BOB                                     0           1          2           2
    CA                                      0           1          2           2
    JONES                                   0           2          2           1
    NOPLACE                                 0           1          1           1
    NOWHERE                                 0           1          1           1
    SMITH                                   0           1          2           2
    ST                                      0           2          2           1
    8 rows selected.
    SCOTT@10gXE> SELECT   c.first_name, c.last_name, a.street, a.city
      2  FROM     customers c, addresses a
      3  WHERE    c.customer_id = a.customer_id
      4  AND      CONTAINS (C.dummy, 'Anywhere') > 0
      5  /
    FIRST_NAME      LAST_NAME       STREET          CITY
    Bob             Jones           Smith St.       Anywhere
    SCOTT@10gXE> 

  • Build index for texts in SAP

    Hi,
    I would like to build a searchable text index for text linked to employees (PD and PA). How can I use any standard SAP technology to do this? I reward any helpful answer.
    Thanks,
    Robert

    Please check:
    1) Values of in engineDir and deployShare in LaunchingService component
    2) Search environment name
    3) To create a full index, the indexing engine requires a clean partition, a file from which all indexes are created: /atg/search/routing/RoutingSystemService
    You need to identify the location of the clean partition by creating a /localconfig/atg/search/routing/RoutingSystemService.properties file. Use the cleanPhysicalPartitionPath property
    to identify the full path to the clean partition. There is a copy of the clean partition located at <Searchdir>/SearchEngine/operatingsystem/data/initial.index. To resolve the path
    correctly, use a relative path to identify the clean partition location as a local copy. For example: cleanPhysicalPartitionPath =../data/initial.index
    Thanks and regards,
    Anuj

  • Why index at top MX.

    In MX, my index page is at top, never seen that before, why
    is it there now? is this strange? It's actually cool, cause now its
    easier to find.

    You mean in the Site Panel? Could be that you have the files
    arranged by
    Last Modified. When you expand the Site Panel you can sort
    your sites files
    by clicking on the categories at the top..
    You can sort by:
    Local Files
    Size
    Type
    Modified
    Could be what happened there.
    Best Regards,
    ..Trent Pastrana
    www.fourlevel.com
    "KevinC." <[email protected]> wrote in
    message
    news:er9t41$bgu$[email protected]..
    > In MX, my index page is at top, never seen that before,
    why is it there
    > now? is this strange? It's actually cool, cause now its
    easier to find.
    >
    >

  • Trying to build this mid/top range PC for PrePro & AE

    Upfront thanks for your comments and tips for my coming machine.
    I spend a lot of hours on this forum and came up with this conf.
    Fractal design Define R3 (bigtower case)
    Ocz zx 850 gold
    Asus P8Z68 deluxe mobo (easy overclocking, i think.. is  4,.8 to 5.2 easy possible?)
    Intel 2600k cpu
    Scythe mugen 2 rev.B cpu cooler
    LG BH10ls30 BR burner
    4x Hitachi Dekstar7K3000 , 3Tb hd's (footage) in raid 10, less demanding on cpu compare to raid 3 or 5? or not with the Z68 chip?
    2x WD Velocirapter 150GB (1 for OS, 1 for pagefile, scratch)
    (output/back up via Esata to external disks)
    MS 7 professional
    Kinston 16GB DDr3 1600Hz kit
    Zotac Geforce GTX 480 1500 mb memory
    What would you change?
    Thanks again for your time and knowledge!
    Luc van Vliet

    Luc,
    Your build looks well thought out, so just a few minor thoughts...
    - Suggest substituting 2 1TB 7200 drives in a RAID 0 configuration in place of the single VR 150GB you were planning (much faster for video purposes, not much more cost)
    - Stick w/ RAID 10 for your 4x3TB RAID; RAID 3 is not supported by Intel Z68 solution and RAID 5 is not advised unless you get a good hardware controller (for speed and robustness reasons)
    - GTX 480 is a good solution, but choose one with dual or tripple fans; those designs tend to cool better and run quieter than the "reference" design; Zotac makes both reference and dual-fan GTX 480 cards
    - I can't comment on the Fractal Designs case, as I'm not familar with them at all
    Jim

  • I would like to build a desk top computer for video editing, business management and online learning and also have a small compatible laptop or tablet or ipad to take to university, Can someone please advise me of the best set up for this?

    I would like to build a desktop computer for video editing, business management and online learning and also have a small laptop, tablet or ipad to take to university, Can someone please advise me of the best set up for this?

    Let's see if I understand this...   You're asking for advice on building a desktop computer, in the Apple developer's forum?  Why not just buy a Mac?

Maybe you are looking for