0

I have a MySQL DB View which is having a JOIN on 4 Tables and all indexes have been used properly and previously response time was fair enough but as the database is growing rapidly, the response time is gradually degrading, so how can we tune the performance? I am new to solve this kind of complexity, Do I need to think about database mirroring or partitioning or NoSQl as well, if any doc can be supported on this, it would be very helpful in learning.

Vardan Gupta
  • 3,505
  • 5
  • 31
  • 40
  • Start with `EXPLAIN`. This will help determine if there is a bottleneck with the *query*. Best before changing your architecture. – Jason McCreary Nov 07 '12 at 19:54
  • while using EXPLAIN, what factors tell us about the throttle limit? Can you tell more on this? – Vardan Gupta Nov 07 '12 at 19:57
  • 1
    There are/were some limitations with MySQL views such that indexes would not be used. See http://stackoverflow.com/questions/2760475/mysql-view-performance – cbranch Nov 07 '12 at 20:00

1 Answers1

1

Depending on your retrieval/usage pattern, I advice to use Partitioning and use the partition attribute in all join conditions and as first filter condition.

Yogendra Singh
  • 33,927
  • 6
  • 63
  • 73