Search Results

Search found 50994 results on 2040 pages for 'simple solution'.

Page 353/2040 | < Previous Page | 349 350 351 352 353 354 355 356 357 358 359 360  | Next Page >

  • Query optimization using composite indexes

    - by xmarch
    Many times, during the process of creating a new Coherence application, developers do not pay attention to the way cache queries are constructed; they only check that these queries comply with functional specs. Later, performance testing shows that these perform poorly and it is then when developers start working on improvements until the non-functional performance requirements are met. This post describes the optimization process of a real-life scenario, where using a composite attribute index has brought a radical improvement in query execution times.  The execution times went down from 4 seconds to 2 milliseconds! E-commerce solution based on Oracle ATG – Endeca In the context of a new e-commerce solution based on Oracle ATG – Endeca, Oracle Coherence has been used to calculate and store SKU prices. In this architecture, a Coherence cache stores the final SKU prices used for Endeca baseline indexing. Each SKU price is calculated from a base SKU price and a series of calculations based on information from corporate global discounts. Corporate global discounts information is stored in an auxiliary Coherence cache with over 800.000 entries. In particular, to obtain each price the process needs to execute six queries over the global discount cache. After the implementation was finished, we discovered that the most expensive steps in the price calculation discount process were the global discounts cache query. This query has 10 parameters and is executed 6 times for each SKU price calculation. The steps taken to optimise this query are described below; Starting point Initial query was: String filter = "levelId = :iLevelId AND  salesCompanyId = :iSalesCompanyId AND salesChannelId = :iSalesChannelId "+ "AND departmentId = :iDepartmentId AND familyId = :iFamilyId AND brand = :iBrand AND manufacturer = :iManufacturer "+ "AND areaId = :iAreaId AND endDate >=  :iEndDate AND startDate <= :iStartDate"; Map<String, Object> params = new HashMap<String, Object>(10); // Fill all parameters. params.put("iLevelId", xxxx); // Executing filter. Filter globalDiscountsFilter = QueryHelper.createFilter(filter, params); NamedCache globalDiscountsCache = CacheFactory.getCache(CacheConstants.GLOBAL_DISCOUNTS_CACHE_NAME); Set applicableDiscounts = globalDiscountsCache.entrySet(globalDiscountsFilter); With the small dataset used for development the cache queries performed very well. However, when carrying out performance testing with a real-world sample size of 800,000 entries, each query execution was taking more than 4 seconds. First round of optimizations The first optimisation step was the creation of separate Coherence index for each of the 10 attributes used by the filter. This avoided object deserialization while executing the query. Each index was created as follows: globalDiscountsCache.addIndex(new ReflectionExtractor("getXXX" ) , false, null); After adding these indexes the query execution time was reduced to between 450 ms and 1s. However, these execution times were still not good enough.  Second round of optimizations In this optimisation phase a Coherence query explain plan was used to identify how many entires each index reduced the results set by, along with the cost in ms of executing that part of the query. Though the explain plan showed that all the indexes for the query were being used, it also showed that the ordering of the query parameters was "sub-optimal".  Parameters associated to object attributes with high-cardinality should appear at the beginning of the filter, or more specifically, the attributes that filters out the highest of number records should be placed at the beginning. But examining corporate global discount data we realized that depending on the values of the parameters used in the query the “good” order for the attributes was different. In particular, if the attributes brand and family had specific values it was more optimal to have a different query changing the order of the attributes. Ultimately, we ended up with three different optimal variants of the query that were used in its relevant cases: String filter = "brand = :iBrand AND familyId = :iFamilyId AND departmentId = :iDepartmentId AND levelId = :iLevelId "+ "AND manufacturer = :iManufacturer AND endDate >= :iEndDate AND salesCompanyId = :iSalesCompanyId "+ "AND areaId = :iAreaId AND salesChannelId = :iSalesChannelId AND startDate <= :iStartDate"; String filter = "familyId = :iFamilyId AND departmentId = :iDepartmentId AND levelId = :iLevelId AND brand = :iBrand "+ "AND manufacturer = :iManufacturer AND endDate >=  :iEndDate AND salesCompanyId = :iSalesCompanyId "+ "AND areaId = :iAreaId  AND salesChannelId = :iSalesChannelId AND startDate <= :iStartDate"; String filter = "brand = :iBrand AND departmentId = :iDepartmentId AND familyId = :iFamilyId AND levelId = :iLevelId "+ "AND manufacturer = :iManufacturer AND endDate >= :iEndDate AND salesCompanyId = :iSalesCompanyId "+ "AND areaId = :iAreaId AND salesChannelId = :iSalesChannelId AND startDate <= :iStartDate"; Using the appropriate query depending on the value of brand and family parameters the query execution time dropped to between 100 ms and 150 ms. But these these execution times were still not good enough and the solution was cumbersome. Third and last round of optimizations The third and final optimization was to introduce a composite index. However, this did mean that it was not possible to use the Coherence Query Language (CohQL), as composite indexes are not currently supporte in CohQL. As the original query had 8 parameters using EqualsFilter, 1 using GreaterEqualsFilter and 1 using LessEqualsFilter, the composite index was built for the 8 attributes using EqualsFilter. The final query had an EqualsFilter for the multiple extractor, a GreaterEqualsFilter and a LessEqualsFilter for the 2 remaining attributes.  All individual indexes were dropped except the ones being used for LessEqualsFilter and GreaterEqualsFilter. We were now running in an scenario with an 8-attributes composite filter and 2 single attribute filters. The composite index created was as follows: ValueExtractor[] ve = { new ReflectionExtractor("getSalesChannelId" ), new ReflectionExtractor("getLevelId" ),    new ReflectionExtractor("getAreaId" ), new ReflectionExtractor("getDepartmentId" ),    new ReflectionExtractor("getFamilyId" ), new ReflectionExtractor("getManufacturer" ),    new ReflectionExtractor("getBrand" ), new ReflectionExtractor("getSalesCompanyId" )}; MultiExtractor me = new MultiExtractor(ve); NamedCache globalDiscountsCache = CacheFactory.getCache(CacheConstants.GLOBAL_DISCOUNTS_CACHE_NAME); globalDiscountsCache.addIndex(me, false, null); And the final query was: ValueExtractor[] ve = { new ReflectionExtractor("getSalesChannelId" ), new ReflectionExtractor("getLevelId" ),    new ReflectionExtractor("getAreaId" ), new ReflectionExtractor("getDepartmentId" ),    new ReflectionExtractor("getFamilyId" ), new ReflectionExtractor("getManufacturer" ),    new ReflectionExtractor("getBrand" ), new ReflectionExtractor("getSalesCompanyId" )}; MultiExtractor me = new MultiExtractor(ve); // Fill composite parameters.String SalesCompanyId = xxxx;...AndFilter composite = new AndFilter(new EqualsFilter(me,                   Arrays.asList(iSalesChannelId, iLevelId, iAreaId, iDepartmentId, iFamilyId, iManufacturer, iBrand, SalesCompanyId)),                                     new GreaterEqualsFilter(new ReflectionExtractor("getEndDate" ), iEndDate)); AndFilter finalFilter = new AndFilter(composite, new LessEqualsFilter(new ReflectionExtractor("getStartDate" ), iStartDate)); NamedCache globalDiscountsCache = CacheFactory.getCache(CacheConstants.GLOBAL_DISCOUNTS_CACHE_NAME); Set applicableDiscounts = globalDiscountsCache.entrySet(finalFilter);      Using this composite index the query improved dramatically and the execution time dropped to between 2 ms and  4 ms.  These execution times completely met the non-functional performance requirements . It should be noticed than when using the composite index the order of the attributes inside the ValueExtractor was not relevant.

    Read the article

  • Mounting a network filesystem into schroot

    - by haggai_e
    Hi, I'm using a network file system (AFS) and I would like to also mount it into my schroot. Adding a line to /etc/schroot/mount-defaults, with bind or rbind in the options didn't help: schroot always mounts the directory with bind, and it remains empty in the chroot. My current solution is a script that remounts the /afs directory with rbind after the schroot has been set up. Is there a way to make schroot use rbind directly?

    Read the article

  • Fantastico - 8 Facts

    Fantastico solution is an auto-installer for control panel servers working perfectly for PHP script, it is easy to use and help to simplify many open source software applications on web hosting accounts which contain free blog installation, domain name, web space, traffic, email accounts, CMS installation, MySQL, PHP databases and FTP accounts. It executed from the administration area of a website control panel such as cPanel and can be installed on ten thousand servers, with a million users worldwide.

    Read the article

  • How to recover from GNOME 3.2 freeze?

    - by Vivek
    I have Ubuntu 11.10 installed and am using GNOME 3.2. I am left with no other option than to restart gdm or to reboot the system, when GNOME freezes. GNOME freezes at times when resuming from suspend and every time I search in the dashboard, inspite of having GNOME 3.2 compatible theme installed. Is there any option to restart shell from tty? Or is there any other solution to recover from the freeze?

    Read the article

  • On Demand Webinar: Extreme Database Performance meets its Backup and Recovery Match

    - by Cinzia Mascanzoni
    Oracle’s Sun ZFS Backup Appliance is a tested, validated and supported backup appliance specifically tuned for Oracle engineered system backup and recovery. The Sun ZFS Backup Appliance is easily integrated with Oracle engineered systems and provides an integrated high-performance backup solution that reduces backup windows by up to 7x and recovery time by up to 4x compared to competitor engineered systems backup solutions. Invite partners to register to attend this webcast to learn how the Sun ZFS Backup Appliance can provide superior performance, cost effectiveness, simplified management and reduced risk.

    Read the article

  • SDL 2.0: is there a library to create 2D particle effects rapidly?

    - by mm24
    I would like to create an light/explosion particle effect using some in built library. I am used to Cocos2D where there are specific classes that you can simply initialize in a certain position and producing a certain particle effect. Is there a way to do so in SDL 2.0 C++? I have found this tutorial but it seems to go for a "build it yoursefl" solution, which is ok but I do not want to re-invent the wheel if someone else has already built it.

    Read the article

  • Rendez-vous des Experts : SQL Server 2012 Denali, une émission en partenariat avec Developpez.com

    Rendez-vous des Experts : SQL Server 2012 Denali Une émission en partenariat avec Developpez.com SQL Server 2012 (anciennement Denali) est la prochaine version majeure de SQL Server, la plateforme de gestion et d'analyse de l'information de Microsoft. Cette version a été développée autour de trois axes majeurs :Devenir la plateforme de prédilection des applications critiques de l'entreprise, en réduisant le TCO Offrir une solution de business intelligence complète, accessible à tous, simplifiant l'accès à toutes les données de l'entreprise Permettre aux applications d'accéder de façon transparente aux données, qu'elles soient hébergées dans vos ...

    Read the article

  • Getting SEO Savvy

    Go out, get savvy about the SEO available in Melbourne, then find and hire the best SEO in Melbourne. It's a smart solution to increasing your online sales and revenue and as far as solutions go, it is certainly being implemented all around the world by your competition.

    Read the article

  • How to end game properly in unity? [duplicate]

    - by user3889649
    This question already has an answer here: Why do I seem to lose control of my computer when full screen Unity game loses focus? 1 answer I have made a game in unity free. The game is functioning properly but if your computer receives any kind of notification, the game minimizes automatically and stops to work completely. Along with that, my computer freezes completely and I need to restart each time. Is there any solution to this problem in unity ?

    Read the article

  • Automating SQL Server Database Deployments: Scripting Details

    To wrap up the series on Database Deployment Challenges, Alexander takes a dive into the details of how he scripted a solution and comes up with several practical tips for getting the most out of any automated database deployment framework. Get your SQL Server database under version control now!Version control is standard for applications, but databases haven’t caught up. So how can you bring database development up to speed? Why should you start? Find out…

    Read the article

  • Parent-child hierarchies and unary operators in PowerPivot

    - by Marco Russo (SQLBI)
    Alberto wrote an excellent post describing how to implement the Unary Operator feature (which is present in Analysis Services) in PowerPivot (there was a previous post about parent-child hierarchies, too). I have to say that the solution is not so easy to implement as in Analysis Services, but it just works and, from a practical point of view, it is not so difficult to implement if you understand how it works and accept its limitations (only sum and subtractions are supported). I think that many...(read more)

    Read the article

  • Thanks for Stopping by at Oracle Open World

    - by Etienne Remillon
    Thanks to hundreds of our customers and more specifically to our directory friends that came to Oracle Open World and meet with us at: One of our two OUD booth: Next Generation Directory in the Middleware demo-ground Optimized Solution for Oracle Unified Directory in the Hardware demo-ground Our well attended session on Next Generation Directory: Oracle Unified Directory One of our other gathering evens Was always a good opportunity to discuss your directory usages, expansion plan, expected evolutions and enhancements. Big thanks for making Oracle Open World 2012 a big event!

    Read the article

  • A Customer's Experience Using DBI

    Cliff speaks with Kyle Lambert, Vice President, Information Solutions from John I. Haas, Inc. about his decision to use Oracle's DBI Solution and the value his organization is receiving from this application.

    Read the article

  • Dual nVidia GPUs (3 monitors) not working in 11.10

    - by jasonmclose
    after searching I have not found a solution. I have 2 nvidia quadro 295 cards with 3 monitors but I can not extend twinview across multiple GPUs. I have the most recent nvidia proprietary drivers installed, and they work fine for the single GPU / dual monitors. I tried using xinerama, but without success. I don't mind switching to the nouveau drivers if that would handle my multiple monitors, although I would like to continue to use unity and compiz if i can).

    Read the article

  • Parrallels lance son Desktop Upgrade to Windows 7, pour migrer simplement vers le nouvel OS de Micro

    Parrallels lance son Desktop Upgrade to Windows 7, pour migrer simplement vers le nouvel OS de Microsoft Lors de la conférence de presse bilan d'hier matin, retraçant les résultats des six premiers mois de commercialisation de Windows 7, l'éditeur Parallels a annoncé la sortie de la solution Parallels Desktop Upgrade to Windows 7 : « L'arrivée de Parallels Desktop Upgrade to Windows 7 s'inscrit dans la stratégie de Parallels visant à faire profiter ses clients des meilleures fonctionnalités de leur système en s'affranchissant des contraintes mat...

    Read the article

  • Network manager broadband modem BUG

    - by Souheil Hmida
    just upgraded to ubuntu 12.10 from 12.04 using wvdial to connect to the internet (network manager doesn't detect my modem Huawei E367 ), though the new network manager detected my modem and asked me the enter the PIN, it doesn't connect, it shows my provider (Orange TN) and the signal (2 bars) but dosn't connect and I can't clic on the name of my broadband (ORANGE TN) . Just hoping that there will be a bug-fix for it or any other solution so I can go back to using the network manger :)

    Read the article

  • Ubuntu 12.10 hangs on checking battery state

    - by Waxolunist
    I have a Thinkpad X230. After a boot it hangs with checking battery state [OK]. A second boot is most times successful. What I have seen in other posts doesn't fit to my problem, because My graphics card is Intel 3rd Gen Core processor Graphics controller (not nvidia) It happens not always I have a fresh installed 12.10 with the latest updates (no upgrade) Does anyone experience the same issues or has a solution?

    Read the article

  • How to fix “Cannot connect to the configuration database.”

    - by ybbest
    The problem: When I browse to a SharePoint site, I got the Server Error in ‘/’ Application, Cannot connect to the configuration database. The Analysis: The reason you get the message is that SharePoint WFE cannot connect to the SQL database, you need to check the weather SQL server service is started as shown below. Solution: When checking the SQL Server service, I see it is not started. After starting the service, it works like a charm.

    Read the article

  • Master Data Management for Product Data

    In this AppsCast, Hardeep Gulati, VP PLM and PIM Product Strategy discusses the benefits companies are getting from Product MDM, more details about Oracle Product Hub solution and the progress, and where we are going from here.

    Read the article

  • BlackBerry évite la vente et opte pour son indépendance, l'entreprise dévoile son plan de sauvetage

    BlackBerry évite la vente et opte pour son indépendance, l'entreprise dévoile son plan de sauvetage BlackBerry voudrait conserver son autonomie et éviter une vente malgré les multiples propositions de rachats qui lui ont été faites. Pourtant, le 23 septembre dernier, tout semblait jouer en la faveur de Fairfax ; le fonds canadien avait fait une offre de rachat à 4,7 milliards de dollars qui est arrivée à échéance ce lundi 04 novembre et qui a donc été annulée.Le fabricant a opté pour une solution...

    Read the article

  • Consolidating SQL Server Error Logs from Multiple Instances Using SSIS

    SQL Server hides a lot of very useful information in its error log files. Unfortunately, the process of hunting through all these logs, file-by-file, server-by-server, can cause a problem. Rodney Landrum offers a solution which will allow you to pull error log records from multiple servers into a central database, for analysis and reporting with T-SQL.

    Read the article

< Previous Page | 349 350 351 352 353 354 355 356 357 358 359 360  | Next Page >