Properties:
Applicable To | InnoDB | ||||||
Introduced In | 5.1.22 | ||||||
Server Startup Option | --innodb-autoinc-lock-mode=<value> | ||||||
Scope | Global | ||||||
Dynamic | No | ||||||
Possible Values |
enum(0,1,2) Interpretation:
|
Properties:
Applicable To | InnoDB | ||||||
Introduced In | 5.1.22 | ||||||
Server Startup Option | --innodb-autoinc-lock-mode=<value> | ||||||
Scope | Global | ||||||
Dynamic | No | ||||||
Possible Values |
enum(0,1,2) Interpretation:
|
Today, we officially launched Kickfire. As part of our announcement we published, together with Sun Microsystems, record-breaking TPC-H benchmark numbers (data warehousing industry benchmarks) as well as a series of significant partnerships in the Open Source world.
There has been a lot of work here over the last two years to get us to this point and I am very proud of the team for getting us to where we are today. Two years ago we just had a vision; today that vision became reality – one substantiated by independent industry benchmarks.
For those of you unfamiliar with these benchmarks let me give you a brief overview to explain why we …
[Read more]Properties:
Applicable To | InnoDB |
Type | Status Variable |
Scope | GLOBAL | SESSION |
Dynamic | NA |
Possible Values | Integer |
Default Value | NA |
Category | Performance |
Description:
According to the official documentation, this variable defines
"The number of logical reads that InnoDB
could not
satisfy from the buffer pool …
There’s no video for Jacob Nikom’s December 2007 Boston MySQL User Group meeting, but the slides for “Measuring MySQL Server Performance” can be downloaded (2.33 MB) at http://technocation.org/files/doc/Measuring_MySQL_server_performance_03.ppt
And with that, this is (I believe) post #10,000 at Planet MySQL!
Properties:
Applicable To | InnoDB | |||||
Server Startup Option | --innodb_thread_concurrency=<value> | |||||
Scope | Global | |||||
Dynamic | Yes | |||||
Possible Values |
Integer: Range: 0 - 1000 Interpretation:
|
Properties:
Applicable To | InnoDB |
Server Startup Option | --innodb_buffer_pool_size=<value> |
Scope | Global |
Dynamic | No |
Possible Values |
Integer Range: 1048576 (1MB) - 4294967295 (4GB) (more for 64 bit machines) |
Default Value | 8388608 (8MB) |
Category | Performance |
Description:
One of the Peter's "what to …
[Read more]Here is a situation I’ve run into a few times when dealing with mysql databases. We’re trying to run a one-off query against a high-traffic, large table and the WHERE condition is against a non-indexed field. Let’s say our table is 5GB in size. We issue the following:
SELECT count(*) from five_gb_myisam_table WHERE
non_idx_field = 'asdf';
and we wait…
and wait some more.
5GB is not a small table, but this ideally should not take more than a few minutes on a relatively modern system.
iostat is your friend
In cases like this, iostat -x 5
is your friend.
While the query was running, this was a typical 5 second
interval:
avg-cpu: %user %nice %sys %iowait %idle
2.30 0.00 1.30 96.40 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz
avgqu-sz await svctm %util
sda 0.00 0.70 …
Using callstacks to look at code is very useful. If you are not familiar with callstacks, I suggest you read my earlier blog about it. I was trying to understand the mysql code path using sysbench as the test and found something interesting. An image of the callstack is shown below. The SVG version, with much more information, is also available . The width of the block is proportional to the time it took for the function, and the height is the level (or depth) of the stack.
Mysql uses mysql_execute_command() to execute queries. Looking at the callstack you can see very clearly that mysql_execute_command() calls open_and_lock_tables which then tries to open tables via open_table(). The code path gets interesting here. As you can see in the image …
[Read more]Using callstacks to look at code is very useful. If you are not familiar with callstacks, I suggest you read my earlier blog about it. I was trying to understand the mysql code path using sysbench as the test and found something interesting. An image of the callstack is shown below. The SVG version, with much more information, is also available . The width of the block is proportional to the time it took for the function, and the height is the level (or depth) of the stack.
Mysql uses mysql_execute_command() to execute queries. Looking at the callstack you can see very clearly that mysql_execute_command() calls open_and_lock_tables which then tries to open tables via open_table(). The code path gets interesting here. As you can see in the …
[Read more]Using callstacks to look at code is very useful. If you are not familiar with callstacks, I suggest you read my earlier blog about it. I was trying to understand the mysql code path using sysbench as the test and found something interesting. An image of the callstack is shown below. The SVG version, with much more information, is also available . The width of the block is proportional to the time it took for the function, and the height is the level (or depth) of the stack.
Mysql uses mysql_execute_command() to execute queries. Looking at the callstack you can see very clearly that mysql_execute_command() calls open_and_lock_tables which then tries to open tables via open_table(). The code path gets interesting here. As you can see in …
[Read more]