SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Performance Tuning
Abel Flórez
MySQL Technical Account Manager
September 2015
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
General Info
InnoDB
Query Cache – Older systems
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
4
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
General Info
InnoDB
Query Cache – Older systems
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
5
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Current Settings
mysql> SHOW GLOBAL VARIABLES;
6
mysql> SHOW GLOBAL VARIABLES;
+-----------------------------------------+-----------------
| Variable_name | Value
+-----------------------------------------+-----------------
| auto_increment_increment | 1
| auto_increment_offset | 1
| autocommit | ON
| automatic_sp_privileges | ON
| back_log | 80
| basedir | /usr/local/mysql
| big_tables | OFF
| bind_address | *
| binlog_cache_size | 32768
| binlog_checksum | CRC32
| binlog_direct_non_transactional_updates | OFF
| binlog_error_action | IGNORE_ERROR
| binlog_format | STATEMENT
| binlog_max_flush_queue_time | 0
| binlog_order_commits | ON
| binlog_row_image | FULL
| binlog_rows_query_log_events | OFF
| binlog_stmt_cache_size | 32768
| binlogging_impossible_mode | IGNORE_ERROR
| block_encryption_mode | aes-128-ech
| bulk_insert_buffer_size | 8388608
| character_set_client | latin1
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Current Settings
• my.cnf / my.ini
7
# The following options will be passed to MySQL clients
[client]
#password = your_password
#port = 5622
#socket = /tmp/mysql.5.6.22.sock
# The MySQL server
[mysqld]
####################
# specific to this test instance
port = 5622
socket = /tmp/mysql.5.6.22.sock
log-error = /usr/local/mysql/data/error.log
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
safe-user-create
####################
server-id = 1
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
table_open_cache = 4000
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Current Status
mysql> SHOW GLOBAL STATUS;
8
mysql> SHOW GLOBAL STATUS;
+--------------------------------------+---------------+
| Variable_name | Value |
+--------------------------------------+---------------+
| Aborted_clients | 9363 |
| Aborted_connects | 15925 |
| Binlog_cache_disk_use | 15684 |
| Binlog_cache_use | 272758675 |
| Bytes_received | 1219816389366 |
| Bytes_sent | 5227022143540 |
| Com_admin_commands | 12803263 |
| Com_assign_to_keycache | 0 |
| Com_alter_db | 0 |
| Com_alter_db_upgrade | 0 |
| Com_alter_event | 0 |
| Com_alter_function | 0 |
| Com_alter_procedure | 0 |
| Com_alter_server | 0 |
| Com_alter_table | 37 |
| Com_alter_tablespace | 0 |
| Com_analyze | 0 |
| Com_begin | 33025640 |
| Com_binlog | 0 |
| Com_call_procedure | 0 |
| Com_change_db | 1 |
| Com_change_master | 0 |
| Com_check | 0 |
| Com_checksum | 0 |
| Com_commit | 33025622 |
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
COM_*
• Counters for each command
9
| Com_resignal | 0 |
| Com_revoke | 0 |
| Com_revoke_all | 0 |
| Com_rollback | 0 |
| Com_rollback_to_savepoint | 0 |
| Com_savepoint | 0 |
| Com_select | 1530076294 |
| Com_set_option | 18004985 |
| Com_signal | 0 |
| Com_show_authors | 0 |
| Com_show_binlog_events | 0 |
| Com_show_binlogs | 27498 |
| Com_show_charsets | 1 |
| Com_show_collations | 39 |
| Com_show_contributors | 0 |
| Com_show_create_db | 3 |
| Com_show_create_event | 0 |
| Com_show_create_func | 1120 |
| Com_show_create_proc | 14499 |
| Com_show_create_table | 183538 |
| Com_show_create_trigger | 0 |
| Com_show_databases | 435 |
| Com_show_engine_logs | 0 |
| Com_show_engine_mutex | 0 |
| Com_show_engine_status | 1180106 |
| Com_show_events | 0 |
| Com_show_errors | 0 |
| Com_show_fields | 2915144 |
| Com_show_function_status | 29 |
https://dev.mysql.com/doc/refman/5.6/en/
server-status-variables.html
show global status like 'Com_%';
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Additional Commands
• Connections and Max_used_connections
10
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Additional Commands
• Connections and Max_used_connections
• Queries and Questions
11
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Additional Commands
• Connections and Max_used_connections
• Queries and Questions
• Slow_queries
12
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Additional Commands
• Connections and Max_used_connections
• Queries and Questions
• Slow_queries
• Handler_read_*
13
Handler_read_first
Handler_read_key
Handler_read_next
Handler_read_prev
Handler_read_rnd
Handler_read_rnd_next
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
General Info
InnoDB
Query Cache – Older systems
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
14
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
How is InnoDB doing?
• Efficiency
– InnoDB_buffer_pool_reads_requests
– InnoDB_buffer_pool_reads
15
Formula:
1 - (Innodb_buffer_pool_read / Innodb_buffer_pool_read_requests)
= buffer pool hit ratio
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_buffer_pool_size
• Global
• Caches data and indexes
• Larger values reduce IO
• 80% max
16
https://dev.mysql.com/doc/refman/5.6/en/innodb-buffer-pool.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_log_file_size
• Size of file on disk
• Larger the file, the less checkpoint activity
• Size for each log file
• Max combined log file size
– 4G <= 5.5
– 512G = 5.6
• Larger the log file ➯ longer recovery time
17
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_log_buffer_size
• Buffer for writing to log files on disk
• Large transactions? Write heavy?
– Yes – increasing can help with IO
• Default: 8M
18
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_file_per_table
• .ibd files
• Default: Off <= 5.6.5 > On
• TRUNCATE for a table is faster
• Can monitor table size on the file system
• Can store specific tables on different storage devices
• (5.6) Transportable tablespaces
19
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_flush_log_at_trx_commit
• Performance vs. Durability
• 1 – Default
– ACID Compliant
– InnoDB log buffer written to log file and flush to disk at each commit.
• 2
– Can lose up to 1 sec of transactions
– InnoDB log buffer written to log file at each commit, flush to disk once per second.
• 0
– Can lose up to 1 sec of transactions
– InnoDB log buffer written to log file and flush to disk once per sec.
20
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
>= 5.6.6
innodb_flush_log_at_timeout
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_buffer_pool_instances
• 5.6
• Problem: contention for the buffer pool resources
• For systems with large multi-GB buffer pools
• Total buffer pools size divided between this many instances
• Each instance
– Manages its own resources
– Has its own mutex
21
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
innodb_stats_persistent
• Specifies whether InnoDB index statistics are persisted to disk.
22
http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
General Info
InnoDB
Query Cache
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
23
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
How is the QC doing?
• Qcache_total_blocks
• Qcache_free_blocks
• Qcache_lowmem_prunes
24
https://dev.mysql.com/doc/refman/5.6/en/query-cache-status-and-maintenance.html
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
SHOW VARIABLES LIKE 'have_query_cache';
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
How is the QC doing? (cont.)
• Qcache_hits
• Qcache_inserts
• Qcache_not_cached
• Qcache_queries_in_cache
25
https://dev.mysql.com/doc/refman/5.6/en/query-cache-status-and-maintenance.html
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Query Cache Hit Rate
– Higher the better
• Invalidating queries
– Bigger the diff – the better
Formula:
Qcache_hits / (Qcache_hits + Com_select) = Query Cache Hit Rate
Formula:
Qcache_inserts << Com_select
QC Data Into Info
26
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
query_cache_size
• Global
• Allocated all at once
• Default: disabled
• Default size:
– 0 < 5.6.8
– 1M >= 5.6.8
27
https://dev.mysql.com/doc/refman/5.6/en/query-cache-configuration.html
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
query_cache_type
• Global – but can be session
• 3 options
– 0 “Off”
– 1 “On”
– 2 “On Demand”
• Default:
– 1 < 5.6.8
– 0 >= 5.6.8
28
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
General Info
InnoDB
Query Cache – Older systems
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
29
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Threads
• Threads == Connections
• Thread Cache
– Threads_cached
– Threads_connected
– Threads_created
30
Formula:
Threads_created / Connections = Thread cache miss rate
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
https://dev.mysql.com/doc/refman/5.6/en/connection-threads.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
thread_cache_size
• Global but grows as needed
• Number to be cached until needed
• May increase performance with lots of new connections
– Or maybe not
31
Formula:
100 – ((Threads_created / Connections) * 100) =
Thread cache efficiency
https://dev.mysql.com/doc/refman/5.6/en/connection-threads.html
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
table_cache
• table_cache <= 5.1.3 > table_open_cache
• Expands as needed
• Number of open tables for all connections
• Watch Opened_tables
32
https://dev.mysql.com/doc/refman/5.6/en/table-cache.html
https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Other “table cache” Options
• table_definition_cache (intro 5.1.3)
– Number of table definitions (.frm file) to hold in the cache
– InnoDB
• Soft limit for open table instances in data dictionary
• Soft limit for number of InnoDB file per table tablespaces open at 1 time
• table_open_cache_instances (intro 5.6)
– Reduces contention between sessions
– Default 1
• Consider 8 or 16 on 16+ core system
33
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
General Info
InnoDB
Query Cache – Older systems
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
34
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Temporary Tables
35
max_heap_table_size
• Dynamic
• Set maximum size of all
MEMORY tables
tmp_table_size
• Dynamic
• In-memory – MEMORY table
• Max size of internal in-
memory temp tables
• Becomes on-disk MyISAM
table
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
sort_buffer_size
• Dynamic
• Doing a sort – allocates a buffer this size
• Helps with ORDER BY and/or GROUP BY
• Watch Sort_merge_passes
36
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda with Highlight
General Info
InnoDB
Query Cache – Older systems
Threads and Table Cache
Session Level
Tools for monitoring, analyzing, and tuning queries
1
2
3
37
4
5
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Tools
Performance schema
MySQL sys schema
EXPLAIN & Optimizer trace
MySQL Enterprise Monitor (MEM)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Performance Schema
• events_statements_history
events_statements_history_long
– Most recent statements executed
• events_statements_summary_by_digest
– Summary for similar statements (same statement digest)
• file_summary_by_event_name
– Interesting events: wait/io/file/innodb/innodb_data_file
• table_io_waits_summary_by_table
table_io_waits_summary_by_index_usage
– Statistics on storage engine access per table and index
Some useful tables
http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Performance Schema
• Normalization of queries to group statements that are similar to be
grouped and summarized:
SELECT * FROM orders WHERE o_custkey=10 AND o_totalprice>20
SELECT * FROM orders WHERE o_custkey = 20 AND o_totalprice > 100
SELECT * FROM orders WHERE o_custkey = ? AND o_totalprice > ?
• events_statements_summary_by_digest
DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT,
MAX_TIMER_WAIT, SUM_LOCK_TIME, SUM_ERRORS, SUM_WARNINGS, SUM_ROWS_AFFECTED,
SUM_ROWS_SENT, SUM_ROWS_EXAMINED, SUM_CREATED_TMP_DISK_TABLES, SUM_CREATED_TMP_TABLES,
SUM_SELECT_FULL_JOIN, SUM_SELECT_FULL_RANGE_JOIN, SUM_SELECT_RANGE, SUM_SELECT_RANGE_CHECK,
SUM_SELECT_SCAN, SUM_SORT_MERGE_PASSES, SUM_SORT_RANGE, SUM_SORT_ROWS, SUM_SORT_SCAN,
SUM_NO_INDEX_USED, SUM_NO_GOOD_INDEX_USED, FIRST_SEEN, LAST_SEEN
Statement digest
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Performance Schema
• Tables:
events_statements_current (Current statement for each thread)
events_statements_history (10 most recent statements per thread)
events_statements_history_long (10000 most recent statements)
• Columns:
THREAD_ID, EVENT_ID, END_EVENT_ID, EVENT_NAME, SOURCE, TIMER_START, TIMER_END, TIMER_WAIT,
LOCK_TIME, SQL_TEXT, DIGEST, DIGEST_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA,
OBJECT_NAME, OBJECT_INSTANCE_BEGIN, MYSQL_ERRNO, RETURNED_SQLSTATE, MESSAGE_TEXT, ERRORS,
WARNINGS, ROWS_AFFECTED, ROWS_SENT, ROWS_EXAMINED, CREATED_TMP_DISK_TABLES,
CREATED_TMP_TABLES, SELECT_FULL_JOIN, SELECT_FULL_RANGE_JOIN, SELECT_RANGE, SELECT_RANGE_CHECK,
SELECT_SCAN, SORT_MERGE_PASSES, SORT_RANGE, SORT_ROWS, SORT_SCAN, NO_INDEX_USED,
NO_GOOD_INDEX_USED, NESTING_EVENT_ID, NESTING_EVENT_TYPE
Statement events
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL sys Schema
• Started as a collection of views, procedures and functions, designed to
make reading raw Performance Schema data easier
• Implements many common DBA and Developer use cases
• Now bundled within MySQL Workbench 6.1
• Available on GitHub
– https://github.com/MarkLeith/mysql-sys
• Examples of very useful functions:
– format_time() , format_bytes(), format_statement()
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL sys Schema
statement_analysis: Lists a normalized statement view with aggregated
statistics, mimics the MySQL Enterprise Monitor Query Analysis view,
ordered by the total execution time per normalized statement
mysql> select * from statement_analysis limit 1G
*************************** 1. row ***************************
query: INSERT INTO `mem__quan` . `nor ... nDuration` = IF ( VALUES ( ...
db: mem
full_scan:
exec_count: 1110067
err_count: 0
warn_count: 0
total_latency: 1.93h
max_latency: 5.03 s
avg_latency: 6.27 ms
Example
lock_latency: 00:18:29.18
rows_sent: 0
rows_sent_avg: 0
rows_examined: 0
rows_examined_avg: 0
tmp_tables: 0
tmp_disk_tables: 0
rows_sorted: 0
sort_merge_passes: 0
digest: d48316a218e95b1b8b72db5e6b177788!
first_seen: 2014-05-20 10:42:17
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
EXPLAIN & Optimizer trace
• EXPLAIN shows the selected plan
• TRACE shows WHY the plan was selected:
– Alternative plans
– Estimated costs
– Decisions made
• JSON format
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Optimizer Trace: Example
SET optimizer_trace= "enabled=on", end_markers_in_json=on;
SELECT * FROM t1,t2 WHERE f1=1 AND f1=f2 AND f2>0;
SELECT trace INTO DUMPFILE "<filename>"
FROM information_schema.optimizer_trace;
SET optimizer_trace="enabled=off";
QUERY SELECT * FROM t1,t2 WHERE f1=1 AND f1=f2 AND f2>0;
TRACE “steps”: [ { "join_preparation": { "select#": 1,… } … } …]
MISSING_BYTES_BEYOND_MAX_MEM_SIZE 0
INSUFFICIENT_PRIVILEGES 0
http://dev.mysql.com/doc/internals/en/optimizer-tracing.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Monitor
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Performance Issues Exposed Via Monitoring
• Unplanned configuration values
• Going to disk too often (wasted IOPs)
• Inefficient query plans
• Statements issued too often
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Wrong/Poor Configuration
• MySQL version in use
• InnoDB buffer pool size
• InnoDB transaction log
and log buffer sizes
• Thread cache
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Throughput
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Concurrency
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Query Analyzer
Proxy Connector Plugin 5.6 Performance
Schema
Supported Server
Versions
Any Any > 5.6.14
Supported Clients Any JDBC, PHP, ADO.Net Any
Complexity High Medium Low
Value/Richness of Data Low Medium High
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Query Analyzer Details
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Queries and databases
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Missing Indexes
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
High Rate of Low Latency Statements
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Statements With Errors and/or Warnings
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Query Response Time index
https://en.wikipedia.org/wiki/Apdex
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
High Average Latency Statements
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
New, Un-optimized Statements
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Extra Information from >= 5.6 and Performance Schema
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
High Average Examined Rows
Only Available
with >= 5.6 and
Performance Schema!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
On-Disk Temporary Tables
Only Available
with >= 5.6 and
Performance Schema!
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
How Do I Get it?
• Part of the MySQL Enterprise Subscription
• Trial Licenses
• Oracle Software Delivery Cloud
➯ https://edelivery.oracle.com/
➯ “MySQL Database Product Pack”
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Thank you for attending!
64
MySQL performance webinar

More Related Content

What's hot

Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview
EDB
 
Oracle EM12c Release 4 New Features!
Oracle EM12c Release 4 New Features!Oracle EM12c Release 4 New Features!
Oracle EM12c Release 4 New Features!
Kellyn Pot'Vin-Gorman
 
12c In Memory Management - Saurabh Gupta
12c In Memory Management - Saurabh Gupta 12c In Memory Management - Saurabh Gupta
12c In Memory Management - Saurabh Gupta
pasalapudi123
 
MySQL sys schema deep dive
MySQL sys schema deep diveMySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentation
Berry Clemens
 
MySQL Administration and Monitoring
MySQL Administration and MonitoringMySQL Administration and Monitoring
MySQL Administration and MonitoringMark Leith
 
Internals of concurent managers
Internals of concurent managersInternals of concurent managers
Internals of concurent managers
Maris Elsins
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
Ted Wennmark
 

What's hot (8)

Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview
 
Oracle EM12c Release 4 New Features!
Oracle EM12c Release 4 New Features!Oracle EM12c Release 4 New Features!
Oracle EM12c Release 4 New Features!
 
12c In Memory Management - Saurabh Gupta
12c In Memory Management - Saurabh Gupta 12c In Memory Management - Saurabh Gupta
12c In Memory Management - Saurabh Gupta
 
MySQL sys schema deep dive
MySQL sys schema deep diveMySQL sys schema deep dive
MySQL sys schema deep dive
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentation
 
MySQL Administration and Monitoring
MySQL Administration and MonitoringMySQL Administration and Monitoring
MySQL Administration and Monitoring
 
Internals of concurent managers
Internals of concurent managersInternals of concurent managers
Internals of concurent managers
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
 

Viewers also liked

Sindrome di Alström - Relazione di Gabriella Milan
Sindrome di Alström - Relazione di Gabriella Milan Sindrome di Alström - Relazione di Gabriella Milan
Sindrome di Alström - Relazione di Gabriella Milan
AlstromItalia
 
Monitoria patrícia
Monitoria patríciaMonitoria patrícia
Monitoria patrícia
CAL_UFPR
 
Trabajo Realizado Por
Trabajo Realizado PorTrabajo Realizado Por
Trabajo Realizado Porbenjacho66
 
Os seres vivos
Os seres vivosOs seres vivos
Os seres vivos
Manolo Martínez
 
Proyecto inglés 2015
Proyecto inglés 2015Proyecto inglés 2015
Proyecto inglés 2015
Tuuky Sevilla
 
Výuková aktivita Klik
Výuková aktivita KlikVýuková aktivita Klik
Výuková aktivita Klikzambl
 
Les figures de style
Les figures de styleLes figures de style
Les figures de styleAlice
 
Dave Rendall PowerPoint for 3.22.16
Dave Rendall PowerPoint for 3.22.16Dave Rendall PowerPoint for 3.22.16
Dave Rendall PowerPoint for 3.22.16Cary Broussard
 
Presentación1
Presentación1Presentación1
Presentación1
Dayana Flo Res
 
Reed Maxwell
Reed MaxwellReed Maxwell
La retribución de la innovación
La retribución de la innovaciónLa retribución de la innovación
La retribución de la innovación
© Gian-Lluis Ribechini
 
(ISM205) A Framework for IT and Business Transformation
(ISM205) A Framework for IT and Business Transformation(ISM205) A Framework for IT and Business Transformation
(ISM205) A Framework for IT and Business Transformation
Amazon Web Services
 
Powerful Explain in MySQL 5.6
Powerful Explain in MySQL 5.6Powerful Explain in MySQL 5.6
Powerful Explain in MySQL 5.6MYXPLAIN
 
Q Breaks Brochure Eng
Q Breaks Brochure EngQ Breaks Brochure Eng
Q Breaks Brochure EngParag Murkute
 

Viewers also liked (18)

Sindrome di Alström - Relazione di Gabriella Milan
Sindrome di Alström - Relazione di Gabriella Milan Sindrome di Alström - Relazione di Gabriella Milan
Sindrome di Alström - Relazione di Gabriella Milan
 
Monitoria patrícia
Monitoria patríciaMonitoria patrícia
Monitoria patrícia
 
Trabajo Realizado Por
Trabajo Realizado PorTrabajo Realizado Por
Trabajo Realizado Por
 
Etsy
EtsyEtsy
Etsy
 
Os seres vivos
Os seres vivosOs seres vivos
Os seres vivos
 
GDGT
GDGTGDGT
GDGT
 
Proyecto inglés 2015
Proyecto inglés 2015Proyecto inglés 2015
Proyecto inglés 2015
 
Výuková aktivita Klik
Výuková aktivita KlikVýuková aktivita Klik
Výuková aktivita Klik
 
Les figures de style
Les figures de styleLes figures de style
Les figures de style
 
GHC_ExecutiveSummary-20081
GHC_ExecutiveSummary-20081GHC_ExecutiveSummary-20081
GHC_ExecutiveSummary-20081
 
Dave Rendall PowerPoint for 3.22.16
Dave Rendall PowerPoint for 3.22.16Dave Rendall PowerPoint for 3.22.16
Dave Rendall PowerPoint for 3.22.16
 
NJD
NJDNJD
NJD
 
Presentación1
Presentación1Presentación1
Presentación1
 
Reed Maxwell
Reed MaxwellReed Maxwell
Reed Maxwell
 
La retribución de la innovación
La retribución de la innovaciónLa retribución de la innovación
La retribución de la innovación
 
(ISM205) A Framework for IT and Business Transformation
(ISM205) A Framework for IT and Business Transformation(ISM205) A Framework for IT and Business Transformation
(ISM205) A Framework for IT and Business Transformation
 
Powerful Explain in MySQL 5.6
Powerful Explain in MySQL 5.6Powerful Explain in MySQL 5.6
Powerful Explain in MySQL 5.6
 
Q Breaks Brochure Eng
Q Breaks Brochure EngQ Breaks Brochure Eng
Q Breaks Brochure Eng
 

Similar to MySQL performance webinar

MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
Mark Swarbrick
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
Morgan Tocker
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1Ivan Ma
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
Mario Beck
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
Mario Beck
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
Mark Swarbrick
 
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
Morgan Tocker
 
Zendcon scaling magento
Zendcon scaling magentoZendcon scaling magento
Zendcon scaling magento
Mathew Beane
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best Practices
Olivier DASINI
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
Olivier DASINI
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & Tune
Mark Swarbrick
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
Mayank Prasad
 
MySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksMySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disks
Dave Stokes
 
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business SuiteOOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
vasuballa
 
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQLOUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
Georgi Kodinov
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
MySQL Brasil
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
Olivier DASINI
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
Ivan Ma
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
Engine Yard
 

Similar to MySQL performance webinar (20)

MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7Upcoming changes in MySQL 5.7
Upcoming changes in MySQL 5.7
 
Zendcon scaling magento
Zendcon scaling magentoZendcon scaling magento
Zendcon scaling magento
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best Practices
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
MySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & TuneMySQL Tech Tour 2015 - Manage & Tune
MySQL Tech Tour 2015 - Manage & Tune
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
 
MySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksMySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disks
 
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business SuiteOOW15 - Getting Optimal Performance from Oracle E-Business Suite
OOW15 - Getting Optimal Performance from Oracle E-Business Suite
 
OUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQLOUGLS 2016: How profiling works in MySQL
OUGLS 2016: How profiling works in MySQL
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 

More from Abel Flórez

MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
Abel Flórez
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
Abel Flórez
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
Abel Flórez
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
Abel Flórez
 
Introduction to MySQL Cluster
Introduction to MySQL ClusterIntroduction to MySQL Cluster
Introduction to MySQL Cluster
Abel Flórez
 
Librecon 2014 photos
Librecon 2014 photosLibrecon 2014 photos
Librecon 2014 photos
Abel Flórez
 
MySQL in the Real World
MySQL in the Real WorldMySQL in the Real World
MySQL in the Real World
Abel Flórez
 

More from Abel Flórez (7)

MySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document StoreMySQL 5.7 - What's new, How to upgrade and Document Store
MySQL 5.7 - What's new, How to upgrade and Document Store
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
 
Introduction to MySQL Cluster
Introduction to MySQL ClusterIntroduction to MySQL Cluster
Introduction to MySQL Cluster
 
Librecon 2014 photos
Librecon 2014 photosLibrecon 2014 photos
Librecon 2014 photos
 
MySQL in the Real World
MySQL in the Real WorldMySQL in the Real World
MySQL in the Real World
 

Recently uploaded

一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
ahzuo
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
NABLAS株式会社
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
ewymefz
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
nscud
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
enxupq
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
Opendatabay
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Boston Institute of Analytics
 

Recently uploaded (20)

一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
一比一原版(UIUC毕业证)伊利诺伊大学|厄巴纳-香槟分校毕业证如何办理
 
社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .社内勉強会資料_LLM Agents                              .
社内勉強会資料_LLM Agents                              .
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单一比一原版(NYU毕业证)纽约大学毕业证成绩单
一比一原版(NYU毕业证)纽约大学毕业证成绩单
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
 
一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单一比一原版(YU毕业证)约克大学毕业证成绩单
一比一原版(YU毕业证)约克大学毕业证成绩单
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project PresentationPredicting Product Ad Campaign Performance: A Data Analysis Project Presentation
Predicting Product Ad Campaign Performance: A Data Analysis Project Presentation
 

MySQL performance webinar

  • 1.
  • 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Performance Tuning Abel Flórez MySQL Technical Account Manager September 2015
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda General Info InnoDB Query Cache – Older systems Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 4 4 5 6
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda General Info InnoDB Query Cache – Older systems Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 5 4 5 6
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Current Settings mysql> SHOW GLOBAL VARIABLES; 6 mysql> SHOW GLOBAL VARIABLES; +-----------------------------------------+----------------- | Variable_name | Value +-----------------------------------------+----------------- | auto_increment_increment | 1 | auto_increment_offset | 1 | autocommit | ON | automatic_sp_privileges | ON | back_log | 80 | basedir | /usr/local/mysql | big_tables | OFF | bind_address | * | binlog_cache_size | 32768 | binlog_checksum | CRC32 | binlog_direct_non_transactional_updates | OFF | binlog_error_action | IGNORE_ERROR | binlog_format | STATEMENT | binlog_max_flush_queue_time | 0 | binlog_order_commits | ON | binlog_row_image | FULL | binlog_rows_query_log_events | OFF | binlog_stmt_cache_size | 32768 | binlogging_impossible_mode | IGNORE_ERROR | block_encryption_mode | aes-128-ech | bulk_insert_buffer_size | 8388608 | character_set_client | latin1
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Current Settings • my.cnf / my.ini 7 # The following options will be passed to MySQL clients [client] #password = your_password #port = 5622 #socket = /tmp/mysql.5.6.22.sock # The MySQL server [mysqld] #################### # specific to this test instance port = 5622 socket = /tmp/mysql.5.6.22.sock log-error = /usr/local/mysql/data/error.log basedir = /usr/local/mysql datadir = /usr/local/mysql/data safe-user-create #################### server-id = 1 sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES table_open_cache = 4000
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Current Status mysql> SHOW GLOBAL STATUS; 8 mysql> SHOW GLOBAL STATUS; +--------------------------------------+---------------+ | Variable_name | Value | +--------------------------------------+---------------+ | Aborted_clients | 9363 | | Aborted_connects | 15925 | | Binlog_cache_disk_use | 15684 | | Binlog_cache_use | 272758675 | | Bytes_received | 1219816389366 | | Bytes_sent | 5227022143540 | | Com_admin_commands | 12803263 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 37 | | Com_alter_tablespace | 0 | | Com_analyze | 0 | | Com_begin | 33025640 | | Com_binlog | 0 | | Com_call_procedure | 0 | | Com_change_db | 1 | | Com_change_master | 0 | | Com_check | 0 | | Com_checksum | 0 | | Com_commit | 33025622 |
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | COM_* • Counters for each command 9 | Com_resignal | 0 | | Com_revoke | 0 | | Com_revoke_all | 0 | | Com_rollback | 0 | | Com_rollback_to_savepoint | 0 | | Com_savepoint | 0 | | Com_select | 1530076294 | | Com_set_option | 18004985 | | Com_signal | 0 | | Com_show_authors | 0 | | Com_show_binlog_events | 0 | | Com_show_binlogs | 27498 | | Com_show_charsets | 1 | | Com_show_collations | 39 | | Com_show_contributors | 0 | | Com_show_create_db | 3 | | Com_show_create_event | 0 | | Com_show_create_func | 1120 | | Com_show_create_proc | 14499 | | Com_show_create_table | 183538 | | Com_show_create_trigger | 0 | | Com_show_databases | 435 | | Com_show_engine_logs | 0 | | Com_show_engine_mutex | 0 | | Com_show_engine_status | 1180106 | | Com_show_events | 0 | | Com_show_errors | 0 | | Com_show_fields | 2915144 | | Com_show_function_status | 29 | https://dev.mysql.com/doc/refman/5.6/en/ server-status-variables.html show global status like 'Com_%';
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Additional Commands • Connections and Max_used_connections 10 https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Additional Commands • Connections and Max_used_connections • Queries and Questions 11 https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Additional Commands • Connections and Max_used_connections • Queries and Questions • Slow_queries 12 https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Additional Commands • Connections and Max_used_connections • Queries and Questions • Slow_queries • Handler_read_* 13 Handler_read_first Handler_read_key Handler_read_next Handler_read_prev Handler_read_rnd Handler_read_rnd_next https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda General Info InnoDB Query Cache – Older systems Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 14 4 5 6
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | How is InnoDB doing? • Efficiency – InnoDB_buffer_pool_reads_requests – InnoDB_buffer_pool_reads 15 Formula: 1 - (Innodb_buffer_pool_read / Innodb_buffer_pool_read_requests) = buffer pool hit ratio https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_buffer_pool_size • Global • Caches data and indexes • Larger values reduce IO • 80% max 16 https://dev.mysql.com/doc/refman/5.6/en/innodb-buffer-pool.html
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_log_file_size • Size of file on disk • Larger the file, the less checkpoint activity • Size for each log file • Max combined log file size – 4G <= 5.5 – 512G = 5.6 • Larger the log file ➯ longer recovery time 17 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_log_buffer_size • Buffer for writing to log files on disk • Large transactions? Write heavy? – Yes – increasing can help with IO • Default: 8M 18 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_file_per_table • .ibd files • Default: Off <= 5.6.5 > On • TRUNCATE for a table is faster • Can monitor table size on the file system • Can store specific tables on different storage devices • (5.6) Transportable tablespaces 19 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_flush_log_at_trx_commit • Performance vs. Durability • 1 – Default – ACID Compliant – InnoDB log buffer written to log file and flush to disk at each commit. • 2 – Can lose up to 1 sec of transactions – InnoDB log buffer written to log file at each commit, flush to disk once per second. • 0 – Can lose up to 1 sec of transactions – InnoDB log buffer written to log file and flush to disk once per sec. 20 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html >= 5.6.6 innodb_flush_log_at_timeout
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_buffer_pool_instances • 5.6 • Problem: contention for the buffer pool resources • For systems with large multi-GB buffer pools • Total buffer pools size divided between this many instances • Each instance – Manages its own resources – Has its own mutex 21 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | innodb_stats_persistent • Specifies whether InnoDB index statistics are persisted to disk. 22 http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda General Info InnoDB Query Cache Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 23 4 5 6
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | How is the QC doing? • Qcache_total_blocks • Qcache_free_blocks • Qcache_lowmem_prunes 24 https://dev.mysql.com/doc/refman/5.6/en/query-cache-status-and-maintenance.html https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html SHOW VARIABLES LIKE 'have_query_cache';
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | How is the QC doing? (cont.) • Qcache_hits • Qcache_inserts • Qcache_not_cached • Qcache_queries_in_cache 25 https://dev.mysql.com/doc/refman/5.6/en/query-cache-status-and-maintenance.html https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Query Cache Hit Rate – Higher the better • Invalidating queries – Bigger the diff – the better Formula: Qcache_hits / (Qcache_hits + Com_select) = Query Cache Hit Rate Formula: Qcache_inserts << Com_select QC Data Into Info 26
  • 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | query_cache_size • Global • Allocated all at once • Default: disabled • Default size: – 0 < 5.6.8 – 1M >= 5.6.8 27 https://dev.mysql.com/doc/refman/5.6/en/query-cache-configuration.html https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
  • 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | query_cache_type • Global – but can be session • 3 options – 0 “Off” – 1 “On” – 2 “On Demand” • Default: – 1 < 5.6.8 – 0 >= 5.6.8 28
  • 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda General Info InnoDB Query Cache – Older systems Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 29 4 5 6
  • 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Threads • Threads == Connections • Thread Cache – Threads_cached – Threads_connected – Threads_created 30 Formula: Threads_created / Connections = Thread cache miss rate https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html https://dev.mysql.com/doc/refman/5.6/en/connection-threads.html
  • 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | thread_cache_size • Global but grows as needed • Number to be cached until needed • May increase performance with lots of new connections – Or maybe not 31 Formula: 100 – ((Threads_created / Connections) * 100) = Thread cache efficiency https://dev.mysql.com/doc/refman/5.6/en/connection-threads.html https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
  • 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | table_cache • table_cache <= 5.1.3 > table_open_cache • Expands as needed • Number of open tables for all connections • Watch Opened_tables 32 https://dev.mysql.com/doc/refman/5.6/en/table-cache.html https://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Other “table cache” Options • table_definition_cache (intro 5.1.3) – Number of table definitions (.frm file) to hold in the cache – InnoDB • Soft limit for open table instances in data dictionary • Soft limit for number of InnoDB file per table tablespaces open at 1 time • table_open_cache_instances (intro 5.6) – Reduces contention between sessions – Default 1 • Consider 8 or 16 on 16+ core system 33 https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda General Info InnoDB Query Cache – Older systems Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 34 4 5 6
  • 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Temporary Tables 35 max_heap_table_size • Dynamic • Set maximum size of all MEMORY tables tmp_table_size • Dynamic • In-memory – MEMORY table • Max size of internal in- memory temp tables • Becomes on-disk MyISAM table https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
  • 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | sort_buffer_size • Dynamic • Doing a sort – allocates a buffer this size • Helps with ORDER BY and/or GROUP BY • Watch Sort_merge_passes 36 https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
  • 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda with Highlight General Info InnoDB Query Cache – Older systems Threads and Table Cache Session Level Tools for monitoring, analyzing, and tuning queries 1 2 3 37 4 5 6
  • 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Tools Performance schema MySQL sys schema EXPLAIN & Optimizer trace MySQL Enterprise Monitor (MEM)
  • 39. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Performance Schema • events_statements_history events_statements_history_long – Most recent statements executed • events_statements_summary_by_digest – Summary for similar statements (same statement digest) • file_summary_by_event_name – Interesting events: wait/io/file/innodb/innodb_data_file • table_io_waits_summary_by_table table_io_waits_summary_by_index_usage – Statistics on storage engine access per table and index Some useful tables http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html
  • 40. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Performance Schema • Normalization of queries to group statements that are similar to be grouped and summarized: SELECT * FROM orders WHERE o_custkey=10 AND o_totalprice>20 SELECT * FROM orders WHERE o_custkey = 20 AND o_totalprice > 100 SELECT * FROM orders WHERE o_custkey = ? AND o_totalprice > ? • events_statements_summary_by_digest DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT, SUM_LOCK_TIME, SUM_ERRORS, SUM_WARNINGS, SUM_ROWS_AFFECTED, SUM_ROWS_SENT, SUM_ROWS_EXAMINED, SUM_CREATED_TMP_DISK_TABLES, SUM_CREATED_TMP_TABLES, SUM_SELECT_FULL_JOIN, SUM_SELECT_FULL_RANGE_JOIN, SUM_SELECT_RANGE, SUM_SELECT_RANGE_CHECK, SUM_SELECT_SCAN, SUM_SORT_MERGE_PASSES, SUM_SORT_RANGE, SUM_SORT_ROWS, SUM_SORT_SCAN, SUM_NO_INDEX_USED, SUM_NO_GOOD_INDEX_USED, FIRST_SEEN, LAST_SEEN Statement digest
  • 41. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Performance Schema • Tables: events_statements_current (Current statement for each thread) events_statements_history (10 most recent statements per thread) events_statements_history_long (10000 most recent statements) • Columns: THREAD_ID, EVENT_ID, END_EVENT_ID, EVENT_NAME, SOURCE, TIMER_START, TIMER_END, TIMER_WAIT, LOCK_TIME, SQL_TEXT, DIGEST, DIGEST_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, OBJECT_INSTANCE_BEGIN, MYSQL_ERRNO, RETURNED_SQLSTATE, MESSAGE_TEXT, ERRORS, WARNINGS, ROWS_AFFECTED, ROWS_SENT, ROWS_EXAMINED, CREATED_TMP_DISK_TABLES, CREATED_TMP_TABLES, SELECT_FULL_JOIN, SELECT_FULL_RANGE_JOIN, SELECT_RANGE, SELECT_RANGE_CHECK, SELECT_SCAN, SORT_MERGE_PASSES, SORT_RANGE, SORT_ROWS, SORT_SCAN, NO_INDEX_USED, NO_GOOD_INDEX_USED, NESTING_EVENT_ID, NESTING_EVENT_TYPE Statement events
  • 42. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL sys Schema • Started as a collection of views, procedures and functions, designed to make reading raw Performance Schema data easier • Implements many common DBA and Developer use cases • Now bundled within MySQL Workbench 6.1 • Available on GitHub – https://github.com/MarkLeith/mysql-sys • Examples of very useful functions: – format_time() , format_bytes(), format_statement()
  • 43. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL sys Schema statement_analysis: Lists a normalized statement view with aggregated statistics, mimics the MySQL Enterprise Monitor Query Analysis view, ordered by the total execution time per normalized statement mysql> select * from statement_analysis limit 1G *************************** 1. row *************************** query: INSERT INTO `mem__quan` . `nor ... nDuration` = IF ( VALUES ( ... db: mem full_scan: exec_count: 1110067 err_count: 0 warn_count: 0 total_latency: 1.93h max_latency: 5.03 s avg_latency: 6.27 ms Example lock_latency: 00:18:29.18 rows_sent: 0 rows_sent_avg: 0 rows_examined: 0 rows_examined_avg: 0 tmp_tables: 0 tmp_disk_tables: 0 rows_sorted: 0 sort_merge_passes: 0 digest: d48316a218e95b1b8b72db5e6b177788! first_seen: 2014-05-20 10:42:17
  • 44. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | EXPLAIN & Optimizer trace • EXPLAIN shows the selected plan • TRACE shows WHY the plan was selected: – Alternative plans – Estimated costs – Decisions made • JSON format
  • 45. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Optimizer Trace: Example SET optimizer_trace= "enabled=on", end_markers_in_json=on; SELECT * FROM t1,t2 WHERE f1=1 AND f1=f2 AND f2>0; SELECT trace INTO DUMPFILE "<filename>" FROM information_schema.optimizer_trace; SET optimizer_trace="enabled=off"; QUERY SELECT * FROM t1,t2 WHERE f1=1 AND f1=f2 AND f2>0; TRACE “steps”: [ { "join_preparation": { "select#": 1,… } … } …] MISSING_BYTES_BEYOND_MAX_MEM_SIZE 0 INSUFFICIENT_PRIVILEGES 0 http://dev.mysql.com/doc/internals/en/optimizer-tracing.html
  • 46. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Monitor
  • 47. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Performance Issues Exposed Via Monitoring • Unplanned configuration values • Going to disk too often (wasted IOPs) • Inefficient query plans • Statements issued too often
  • 48. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Wrong/Poor Configuration • MySQL version in use • InnoDB buffer pool size • InnoDB transaction log and log buffer sizes • Thread cache
  • 49. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Throughput
  • 50. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Concurrency
  • 51. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Query Analyzer Proxy Connector Plugin 5.6 Performance Schema Supported Server Versions Any Any > 5.6.14 Supported Clients Any JDBC, PHP, ADO.Net Any Complexity High Medium Low Value/Richness of Data Low Medium High
  • 52. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Query Analyzer Details
  • 53. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Queries and databases
  • 54. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Missing Indexes
  • 55. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | High Rate of Low Latency Statements
  • 56. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Statements With Errors and/or Warnings
  • 57. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Query Response Time index https://en.wikipedia.org/wiki/Apdex
  • 58. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | High Average Latency Statements
  • 59. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | New, Un-optimized Statements
  • 60. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Extra Information from >= 5.6 and Performance Schema
  • 61. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | High Average Examined Rows Only Available with >= 5.6 and Performance Schema!
  • 62. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | On-Disk Temporary Tables Only Available with >= 5.6 and Performance Schema!
  • 63. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | How Do I Get it? • Part of the MySQL Enterprise Subscription • Trial Licenses • Oracle Software Delivery Cloud ➯ https://edelivery.oracle.com/ ➯ “MySQL Database Product Pack”
  • 64. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Thank you for attending! 64