Your SlideShare is downloading. ×
0
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Mysql features for the enterprise
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mysql features for the enterprise

3,047

Published on

MySQL main features, with emphasis of what's new in MySQL 5.5, and how to use the InnoDB plugin in 5.1

MySQL main features, with emphasis of what's new in MySQL 5.5, and how to use the InnoDB plugin in 5.1

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,047
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
113
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MySQL Features for the enterprise Giuseppe Maxia QA Director Continuent, Inc This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Wednesday, December 1, 2010
  • 2. about me - Giuseppe Maxia • a.k.a. The Data Charmer • QA Director at Continuent, Inc • Long time hacking with MySQL features • Formerly, MySQL community manager, database consultant, designer, coder. • A passion for QA, open source, and community • Blogger •http://datacharmer.blogspot.com Wednesday, December 1, 2010
  • 3. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 4. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 5. Main features • Ease of use • Installation • Maintenance • Reliability • ACID compliant • Built-in replication • Performance • Scalable • Built-in partitioning Wednesday, December 1, 2010
  • 6. And more ... • Stored routines • Triggers • Views • Information and performance schema • Event scheduler • Pluggable functions • Pluggable storage engines Wednesday, December 1, 2010
  • 7. Installation Wednesday, December 1, 2010
  • 8. As easy as • apt-get install mysql-server • yum install mysql-server Manual installation requires less than 15 minutes Wednesday, December 1, 2010
  • 9. ACID Wednesday, December 1, 2010
  • 10. MVCC storage engine • Use Innodb • Transactions • Referential integrity Wednesday, December 1, 2010
  • 11. Replication principles Wednesday, December 1, 2010
  • 12. a simple web application scheme database server web server clients r/w requests Wednesday, December 1, 2010
  • 13. database server web servers load balancer clients r/w requests scaling web requests Wednesday, December 1, 2010
  • 14. write r e a d database load on a simple web application 85% 15% Wednesday, December 1, 2010
  • 15. readwrite database load on a successful web application 20% 80% Wednesday, December 1, 2010
  • 16. database server web servers load balancer clients r/w requests ✘ scaling up means buying a bigger database server Wednesday, December 1, 2010
  • 17. readwrite the bigger database server will eventually have the same problem 80%20% Wednesday, December 1, 2010
  • 18. read/write master read/only slaves web servers R/W R/O load balancer load balancer clients a web application scheme with replication Wednesday, December 1, 2010
  • 19. read/write master read/only slaves readwrite r e a d database load with replication 85% 15% 100% Wednesday, December 1, 2010
  • 20. read/write master read/only slaves readwrite r e a d scaling database load with replication 85% 15% 100% Wednesday, December 1, 2010
  • 21. Replication assessment without replication with replication database handling performance Point in Time recovery failover write scaling backup read scaling easy harder high lower (binary logs) none easy none possible none minimal with downtime without downtime none easy Wednesday, December 1, 2010
  • 22. Partitioning Wednesday, December 1, 2010
  • 23. Remember the MERGE tables? !separate tables !risk of duplicates !insert in each table !no constraints MERGE TABLE Wednesday, December 1, 2010
  • 24. It isn't a merge table! !One table !No risk of duplicates !insert in one table !constraints enforced PARTITIONED TABLE Wednesday, December 1, 2010
  • 25. Partition pruning 1a - unpartitioned table - SINGLE RECORD select * from table_name where colx = 120 Wednesday, December 1, 2010
  • 26. Partition pruning 1a - unpartitioned table - SINGLE RECORD select * from table_name where colx = 120 I N D E X D A T A Wednesday, December 1, 2010
  • 27. Partition pruning 1c - unpartitioned table - RANGE select * from table_name where colx between 120 and 230 Wednesday, December 1, 2010
  • 28. Partition pruning 2a - table partitioned by colx - SINGLE REC select * from table_name where colx = 120 100-199 1-99 200-299 300-399 400-499 500-599 Wednesday, December 1, 2010
  • 29. Partition pruning 2a - table partitioned by colx - SINGLE REC select * from table_name where colx = 120 D A T A I N D E X 100-199 1-99 200-299 300-399 400-499 500-599 Wednesday, December 1, 2010
  • 30. Partition pruning 2b - table partitioned by colx - SINGLE REC select * from table_name where colx = 350 100-199 1-99 200-299 300-399 400-499 500-599 Wednesday, December 1, 2010
  • 31. Partition pruning 2c - table partitioned by colx - RANGE 100-199 1-99 200-299 300-399 400-499 500-599 select * from table_name where colx between 120 and 230 Wednesday, December 1, 2010
  • 32. Benchmarking results (huge server) engine 6 month range InnoDB 4 min 30s MyISAM 25.03s Archive 22 min 25s InnoDB partitioned by month 13.19 MyISAM partitioned by year 6.31 MyISAM partitioned by month 4.45 Archive partitioned by year 16.67 Archive partitioned by month 8.97 Wednesday, December 1, 2010
  • 33. Leveraging replication Wednesday, December 1, 2010
  • 34. read/write master read/only slaves R/W R/O load balancer load balancing Wednesday, December 1, 2010
  • 35. backup master slaves STOP SLAVE remove slave from load balancer START SLAVE perform backup attach slave to load balancer Let slave catch up Wednesday, December 1, 2010
  • 36. master slaves STOP SLAVE remove slave from load balancer START SLAVE calculate summary tables attach slave to load balancer Let slave catch up make summary tables Wednesday, December 1, 2010
  • 37. master slave innodb non partitioned slave innodb non partitionedinnodb partitioned by range slave MyISAM partitioned by range Partitions for heavy statistics Wednesday, December 1, 2010
  • 38. master slave innodb non partitioned slave innodb non partitioned ARCHIVE partitioned by range (date) slave ARCHIVE partitioned by range (product) slave ARCHIVE partitioned by range (location) Simulating multiple dimensions Wednesday, December 1, 2010
  • 39. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 40. MySQL 5.5 • MySQL 5.5.7-rc released in November • MySQL 5.5.x-GA coming in December • Default storage engine is now InnoDB • Lots of goodies Wednesday, December 1, 2010
  • 41. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 42. default engine select @@version,@@storage_engine; +-----------+------------------+ | @@version | @@storage_engine | +-----------+------------------+ | 5.1.52 | MyISAM | +-----------+------------------+ select @@version, @@storage_engine; +-----------+------------------+ | @@version | @@storage_engine | +-----------+------------------+ | 5.5.7-rc | InnoDB | +-----------+------------------+ Wednesday, December 1, 2010
  • 43. Plugin version select @@version, @@innodb_version; +-----------+------------------+ | @@version | @@innodb_version | +-----------+------------------+ | 5.5.7-rc | 1.1.3 | +-----------+------------------+ Wednesday, December 1, 2010
  • 44. InnoDB at a glance • Performance Improvements ✦ Improved recovery performance ✦ Multiple buffer pool instances ✦ Multiple rollback segments ✦ Native asynchronous I/O for Linux ✦ Extended change buffering Wednesday, December 1, 2010
  • 45. Faster! • How fast? • In my benchmarks, 10% to 50% faster. • Others have reported much higher gains. • You decide. • Test it under your load. Wednesday, December 1, 2010
  • 46. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 47. PERFORMANCE SCHEMA • PERFORMANCE_SCHEMA presents low level MySQL performance information • Data can be cleared • Filters with WHERE are allowed • Must be enabled with --performance_schema Wednesday, December 1, 2010
  • 48. performance schema SELECT EVENT_ID, EVENT_NAME, TIMER_WAIT FROM EVENTS_WAITS_HISTORY WHERE THREAD_ID = 13 ORDER BY EVENT_ID; +----------+-----------------------------------------+------------+ | EVENT_ID | EVENT_NAME | TIMER_WAIT | +----------+-----------------------------------------+------------+ | 86 | wait/synch/mutex/mysys/THR_LOCK::mutex | 686322 | | 87 | wait/synch/mutex/mysys/THR_LOCK_malloc | 320535 | | 88 | wait/synch/mutex/mysys/THR_LOCK_malloc | 339390 | | 89 | wait/synch/mutex/mysys/THR_LOCK_malloc | 377100 | | 90 | wait/synch/mutex/sql/LOCK_plugin | 614673 | | 91 | wait/synch/mutex/sql/LOCK_open | 659925 | | 92 | wait/synch/mutex/sql/THD::LOCK_thd_data | 494001 | | 93 | wait/synch/mutex/mysys/THR_LOCK_malloc | 222489 | | 94 | wait/synch/mutex/mysys/THR_LOCK_malloc | 214947 | | 95 | wait/synch/mutex/mysys/LOCK_alarm | 312993 | +----------+-----------------------------------------+------------+ Wednesday, December 1, 2010
  • 49. performance schema mysql> UPDATE SETUP_INSTRUMENTS SET ENABLED = 'NO' WHERE NAME = 'wait/synch/mutex/myisammrg/MYRG_INFO::mutex'; mysql> UPDATE SETUP_CONSUMERS SET ENABLED = 'NO' WHERE NAME = 'file_summary_by_instance'; Wednesday, December 1, 2010
  • 50. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 51. MySQL 5.5 enhancements • PARTITION BY RANGE COLUMNS • PARTITION BY LIST COLUMNS • TO_SECONDS 51 Wednesday, December 1, 2010
  • 52. MySQL 5.5 enhancements 52 CREATE TABLE t ( dt date ) PARTITION BY RANGE (TO_DAYS(dt)) ( PARTITION p01 VALUES LESS THAN (TO_DAYS('2007-01-01')), PARTITION p02 VALUES LESS THAN (TO_DAYS('2008-01-01')), PARTITION p03 VALUES LESS THAN (TO_DAYS('2009-01-01')), PARTITION p04 VALUES LESS THAN (MAXVALUE)); BEFO RE 5.1 Wednesday, December 1, 2010
  • 53. MySQL 5.5 enhancements 53 SHOW CREATE TABLE t G Table: t Create Table: CREATE TABLE `t` ( `dt` date DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (TO_DAYS (dt)) (PARTITION p01 VALUES LESS THAN (733042) ENGINE = MyISAM, […] BEFO RE 5.1 Wednesday, December 1, 2010
  • 54. MySQL 5.5 enhancements 54 CREATE TABLE t ( dt date ) PARTITION BY RANGE COLUMNS (dt) ( PARTITION p01 VALUES LESS THAN ('2007-01-01'), PARTITION p02 VALUES LESS THAN ('2008-01-01'), PARTITION p03 VALUES LESS THAN ('2009-01-01'), PARTITION p04 VALUES LESS THAN (MAXVALUE)); AFTER 5.5 Wednesday, December 1, 2010
  • 55. MySQL 5.5 enhancements 55 SHOW CREATE TABLE t Table: t Create Table: CREATE TABLE `t` ( `dt` date DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50500 PARTITION BY RANGE COLUMNS (dt) (PARTITION p01 VALUES LESS THAN ('2007-01-01') ENGINE = MyISAM, […] AFTER 5.5 Wednesday, December 1, 2010
  • 56. MySQL 5.5 - Multiple columns 56 CREATE TABLE t ( a int, b int )PARTITION BY RANGE COLUMNS (a,b) ( PARTITION p01 VALUES LESS THAN (10,1), PARTITION p02 VALUES LESS THAN (10,10), PARTITION p03 VALUES LESS THAN (10,20), PARTITION p04 VALUES LESS THAN (MAXVALUE, MAXVALUE)); Wednesday, December 1, 2010
  • 57. 57 CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, first_name varchar(14) NOT NULL, last_name varchar(16) NOT NULL, gender char(1) DEFAULT NULL, hire_date date NOT NULL ) ENGINE=MyISAM PARTITION BY RANGE COLUMNS(gender,hire_date) (PARTITION p01 VALUES LESS THAN ('F','1990-01-01'), PARTITION p02 VALUES LESS THAN ('F','2000-01-01'), PARTITION p03 VALUES LESS THAN ('F',MAXVALUE), PARTITION p04 VALUES LESS THAN ('M','1990-01-01'), PARTITION p05 VALUES LESS THAN ('M','2000-01-01'), PARTITION p06 VALUES LESS THAN ('M',MAXVALUE), PARTITION p07 VALUES LESS THAN (MAXVALUE,MAXVALUE) Wednesday, December 1, 2010
  • 58. MySQL 5.5 enhancements • TRUNCATE PARTITION • TO_SECONDS() 58 Wednesday, December 1, 2010
  • 59. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 60. SIGNAL and RESIGNAL • Allow error handling in stored routines • The execution is passed to an error handler • Accessible error values are SQLSTATE, MESSAGE_TEXT and MYSQL_ERRNO • RESIGNAL can pass along the original or a new information Wednesday, December 1, 2010
  • 61. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 62. semi-synchronous replication master slave 1 slave 2 semisynch master plugin semisynch slave plugin Wednesday, December 1, 2010
  • 63. semi-synchronous replication master slave 1 slave 2 COMMIT 1 client Wednesday, December 1, 2010
  • 64. semi-synchronous replication master slave 1 slave 2 2 client binary log COMMIT Wednesday, December 1, 2010
  • 65. semi-synchronous replication master slave 1 slave 2 3 client binary log COMMIT relay log Wednesday, December 1, 2010
  • 66. semi-synchronous replication master slave 1 slave 2 4 client binary log COMMIT relay log confirm log reception Wednesday, December 1, 2010
  • 67. semi-synchronous replication master slave 1 slave 2 5 client binary log COMMIT relay log Wednesday, December 1, 2010
  • 68. Contents • Refresh of MySQL main features • Future: MySQL 5.5 ✦ performance (InnoDB default engine, Performance schema) ✦ ease of use (partitioning, SIGNAL) ✦ reliability (semisynch replication) • Current: MySQL 5.1 ✦ performance: InnoDB plugin 1.0.13 Wednesday, December 1, 2010
  • 69. Missed announcement • A GA release • As of MySQL 5.1.47 • The InnoDB plugin is GA • Ready to use for immediate gains Wednesday, December 1, 2010
  • 70. 5.1 INNODB1.0.13 Wednesday, December 1, 2010
  • 71. 5.1 INNODB1.0.13 Wednesday, December 1, 2010
  • 72. INFORMATION SCHEMA table plugin INFORMATION SCHEMA table plugin INFORMATION SCHEMA table plugin INFORMATION SCHEMA table plugin MySQL Server InnoDB plugin Wednesday, December 1, 2010
  • 73. Installation (1) my.cnf [mysqld] plugin_dir = /usr/local/mysql/lib/plugin ignore_builtin_innodb plugin-load=innodb=ha_innodb_plugin.so default-storage-engine=InnoDB innodb_file_per_table=1 innodb_file_format=barracuda innodb_strict_mode=1 Wednesday, December 1, 2010
  • 74. Installation (1a) my.cnf [mysqld] plugin-load=innodb=ha_innodb_plugin.so; innodb_trx=ha_innodb_plugin.so; innodb_locks=ha_innodb_plugin.so; innodb_lock_waits=ha_innodb_plugin.so; innodb_cmp=ha_innodb_plugin.so; innodb_cmp_reset=ha_innodb_plugin.so; innodb_cmpmem=ha_innodb_plugin.so; innodb_cmpmem_reset=ha_innodb_plugin.so #(all in one line with no spaces) Wednesday, December 1, 2010
  • 75. Installation (2) SET GLOBAL innodb_fast_shutdown=0; RESTART the server Wednesday, December 1, 2010
  • 76. Installation - 2nd method (1) my.cnf [mysqld] ignore_builtin_innodb Wednesday, December 1, 2010
  • 77. Installation - 2nd method (2) SET GLOBAL innodb_fast_shutdown=0; RESTART the server Wednesday, December 1, 2010
  • 78. Installation - 2nd method (3) mysql INSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb_plugin.so'; INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb_plugin.so'; Wednesday, December 1, 2010
  • 79. Installation - 2nd method (4) my.cnf [mysqld] default-storage-engine=InnoDB innodb_file_per_table=1 innodb_file_format=barracuda innodb_strict_mode=1 Wednesday, December 1, 2010
  • 80. Installation - 2nd method (5) SET GLOBAL innodb_fast_shutdown=0; RESTART the server Wednesday, December 1, 2010
  • 81. Installation differences • Method 1 (plugin-load in my.cnf) ✦ Only one operation ✦ But error prone (one looooong command) ✦ plugins not stored in mysql.plugin table • Method 2 (install plugin) ✦ plugin info saved to mysql.plugin table ✦ Easier to write ✦ 2 restarts required Wednesday, December 1, 2010
  • 82. CAVEAT • If you uninstall the InnoDB plugin, remember: ✦ The tables are not backward compatible ✦ You must uninstall all the INFORMATION_SCHEMA plugin tables BEFORE removing the InnoDB plugin ✦ If the plugin is busy, it may not be removed until you restart the server Wednesday, December 1, 2010
  • 83. hands on Wednesday, December 1, 2010
  • 84. Checking installation select @@version, @@innodb_version; +-----------+------------------+ | @@version | @@innodb_version | +-----------+------------------+ | 5.1.52 | 1.0.13 | +-----------+------------------+ D EM O Wednesday, December 1, 2010
  • 85. Detecting locks session1> select c from t1 for update; +------+ | c | +------+ | aaa | | bbb | | ccc | +------+ Wednesday, December 1, 2010
  • 86. Detecting locks session2> select c from t1 for update; [… waiting] Wednesday, December 1, 2010
  • 87. Detecting locks session3> select i from t1 for update; [… waiting] Wednesday, December 1, 2010
  • 88. getting locks information SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query FROM innodb_lock_waits w INNER JOIN innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN innodb_trx r ON r.trx_id = w.requesting_trx_id Wednesday, December 1, 2010
  • 89. getting locks information Wednesday, December 1, 2010
  • 90. getting locks information ************* 1. row ************** waiting_trx_id: 711 waiting_thread: 3 waiting_query: select c from t1 for update blocking_trx_id: 710 blocking_thread: 2 blocking_query: select i from t1 for update Wednesday, December 1, 2010
  • 91. getting locks information ************* 2. row ************** waiting_trx_id: 711 waiting_thread: 3 waiting_query: select c from t1 for update blocking_trx_id: 70F blocking_thread: 1 blocking_query: NULL Wednesday, December 1, 2010
  • 92. getting locks information ************* 3. row ************** waiting_trx_id: 710 waiting_thread: 2 waiting_query: select i from t1 for update blocking_trx_id: 70F blocking_thread: 1 blocking_query: NULL Wednesday, December 1, 2010
  • 93. Read more Wednesday, December 1, 2010
  • 94. The MySQL online manual http://dev.mysql.com/doc Wednesday, December 1, 2010
  • 95. High Performance MySQL Wednesday, December 1, 2010
  • 96. MySQL High Availability Wednesday, December 1, 2010
  • 97. Web Operations Wednesday, December 1, 2010
  • 98. Cloud Application Architectures Wednesday, December 1, 2010
  • 99. e-mail: datacharmer@continuent.com Twitter: @datacharmer Contact Information Continuent Web Site: http://www.continuent.com Tungsten Project http://sourceforge.net/projects/tungsten This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Wednesday, December 1, 2010

×