performance - How to make arbitrary SQL-queries very quick from a huge table in the database -


we have single flat table consisting of ~50 million records of data ~100 columns on oracle 11g dbms. single table made performance reasons.

there multiple client-applications execute different select sql-queries against table, can listen updates table asynchronously.

issues:

the main problem - of sql-queries work - 8 minutes, exact. thing sql-queries can arbitrary, it's client. oracle-hints not solution. furthermore, in cases oracle optimizator makes wrong estimations or db-indices degrade performance. relational db sucks here.

requirements:

  1. queries must based on standard sql.
  2. significantly improve speed of select-query execution table.
  3. the solution must scalable in terms of number of clients , data.
  4. the solution should simple , cost-effective.

the question:

what solutions/architecture recommend achieve above requirements? may consider different non-relational databases or in-memory caches, develop our own solution, whatever.

if using single table, should reports or else doing wrong. reports data should not updated often, not every hour. if oracle hint fails, can change manually, happens time time, it's because update/insert. , know queries, don't blindly create indexes every column (you use indexes right), check these slow queries spends time know optimize.

relational db doesn't sucks, if know how use them.


Comments