Improve the performance of your MySQL Server
|
|
|
|
| Articles Reviews Mysql | |
| Written by Mukul Gupta | |
| Wednesday, 29 November 2006 | |
|
{mos_sb_discuss:27}
Faulty Database
Design
Proper database design is the single most important factor
for the ensuring performance and maintainability of the database. Here is what
you need to answer when designing a table: Can I reduce the size of data that
each row will have? Here is what you can do:
Remember, how a table will be used should determine how it
is designed. Spending time here will save years of frustration.
Bad Queries
It sounds too good to be true but you wont believe the
number of developers out there who completely suck at writing queries. There are
two types of bad queries:
a) Unnecessary Queries: These are the queries that shouldnt have been made in the first place. The only way to avoid this is asking, Do I really need this data? b) Inefficient Queries: These are the queries that do not use the underlying table structure or MySQL functions in the correct way.
Server Factors Everything done correctly, there still may be some server
factors that may be causing the system to be slow. These are:
Here is what you can do about the hardware:
Once you are satisfied with the hardware, there are a set of
variables in my.cnf that you must look at:
a) key_buffer_size: This describes the memory available to store the index keys. The default is 8 MB but you can set it to 25% of the RAM. b) query_cache_size: This value is by default 0. if you have a lot of repeating queries like in reporting applications etc, make sure you set this value high. c) table_open_cache:
This determines the number of table descriptors that MySQL will keep in the
cache. The default value is 64. But, if you have 100 users accessing a table
concurrently then this value should atleast be 100. You also have to take into
considerations joins etc. Thus, this value should also be kept high.
Mukul Gupta is the CMO of Indus Net Technologies, an
Powered by jReviews |
|
| Last Updated ( Sunday, 11 February 2007 ) | |
| < Prev | Next > |
|---|







