Writing High Performance SQL Statements. Tim Sharp July 14, 2014
|
|
- Bryce Lee
- 6 years ago
- Views:
Transcription
1 Writing High Performance SQL Statements Tim Sharp July 14, 2014
2 Introduction Tim Sharp Technical Account Manager Percona since years working with Databases
3 Optimum SQL Performance Schema Indices Queries
4 Explain Tool Provides query optimization info Great for understanding and optimizing troublesome MySQL queries MySQL 5.6: SELECT, DELETE, INSERT, REPLACE & UPDATE Estimate on how MySQL will execute query
5 Explain Tool id select_type table type possible_keys key key_len ref rows filtered Extra The SELECT identifier The SELECT type The table for the output row The join type possible indexes to choose The index actually chosen The length of the chosen key The columns compared to the index Estimate of rows to be examined Percentage of rows filtered by table condition Additional information
6 Explain Tool id select_type table type possible_keys key key_len ref rows filtered Extra The SELECT identifier The SELECT type The table for the output row The join type possible indexes to choose The index actually chosen The length of the chosen key The columns compared to the index Estimate of rows to be examined Percentage of rows filtered by table condition Additional information
7 Explain Tool id select_type table type possible_keys key key_len ref rows filtered Extra The SELECT identifier The SELECT type The table for the output row The join type -> const, ref, range, index_merge, all possible indexes to choose The index actually chosen The length of the chosen key The columns compared to the index Estimate of rows to be examined Percentage of rows filtered by table condition Additional information
8 Explain Tool id select_type table type possible_keys key key_len ref rows filtered Extra The SELECT identifier The SELECT type The table for the output row BEST! WORST! The join type -> const, ref, range, index_merge, all possible indexes to choose The index actually chosen The length of the chosen key The columns compared to the index Estimate of rows to be examined Percentage of rows filtered by table condition Additional information
9 Explain Tool id select_type table type possible_keys key key_len ref rows filtered Extra The SELECT identifier The SELECT type The table for the output row The join type -> const, ref, range, index_merge, all possible indexes to choose -> NULL The index actually chosen -> NULL The length of the chosen key The columns compared to the index Estimate of rows to be examined Percentage of rows filtered by table condition Additional information BAD
10 Explain - Examples CREATE TABLE `film` ( `film_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `description` text, `release_year` year(4) DEFAULT NULL, `language_id` tinyint(3) unsigned NOT NULL, `original_language_id` tinyint(3) unsigned DEFAULT NULL, `rental_duration` tinyint(3) unsigned NOT NULL DEFAULT '3', `rental_rate` decimal(4,2) NOT NULL DEFAULT '4.99', `length` smallint(5) unsigned DEFAULT NULL, `replacement_cost` decimal(5,2) NOT NULL DEFAULT '19.99', `rating` enum('g','pg','pg-13','r','nc-17') DEFAULT 'G', `special_features` set('trailers','commentaries','deleted Scenes','Behind the Scenes') DEFAULT NULL, `last_update` timestamp NOT NULL, PRIMARY KEY (`film_id`), KEY `idx_title` (`title`), KEY `idx_fk_language_id` (`language_id`), KEY `idx_fk_original_language_id` (`original_language_id`), )
11 Explain - Examples CREATE TABLE `actor` ( `actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `first_name` varchar(45) NOT NULL, `last_name` varchar(45) NOT NULL, `last_update` timestamp NOT NULL, PRIMARY KEY (`actor_id`), KEY `idx_actor_last_name` (`last_name`) ) CREATE TABLE `film_actor` ( `actor_id` smallint(5) unsigned NOT NULL, `film_id` smallint(5) unsigned NOT NULL, `last_update` timestamp NOT NULL PRIMARY KEY (`actor_id`,`film_id`), KEY `idx_fk_film_id` (`film_id`), ) Many to Many relationship: actor film_actor film
12 Explain - Examples explain SELECT actor.first_name FROM actor WHERE first_name like a%'\g; id: 1 select_type: SIMPLE table: actor type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 200 Extra: Using where
13 Explain - Examples Let s add an index! CREATE INDEX FN_idx on actor(first_name); EXPLAIN SELECT actor.first_name FROM actor WHERE first_name like 'a%'\g; id: 1 select_type: SIMPLE table: actor type: range possible_keys: FN_idx key: FN_idx key_len: 137 ref: NULL rows: 13 Extra: Using where; Using index
14 Explain - Examples Let s add an index! CREATE INDEX FN_idx on actor(first_name); EXPLAIN SELECT actor.first_name FROM actor WHERE first_name = 'allan'\g; id: 1 select_type: SIMPLE table: actor type: const possible_keys: FN_idx key: FN_idx key_len: 137 ref: NULL rows: 1 Extra: Using where; Using index
15 Explain - Examples EXPLAIN SELECT actor.first_name, actor.last_name FROM actor WHERE actor_id = ANY (SELECT actor_id FROM film_actor WHERE film_id= (SELECT film.film_id FROM film WHERE title='dinosaur Secretary )); 1. row id: 1 select_type: PRIMARY table: film_actor type: ref possible_keys: PRIMARY,idx_fk_film_id key: idx_fk_film_id key_len: 2 ref: const rows: 6 Extra: Using where; Using index 2. row id: 2 select_type: PRIMARY table: actor type: eq_ref possible_keys: PRIMARY key: PRIMARY key_len: 2 ref: sakila.film_actor.actor_id rows: 1 Extra: NULL 3. row id: 3 select_type: SUBQUERY table: film type: ref possible_keys: idx_title key: idx_title key_len: 767 ref: const rows: 1 Extra: Using where; Using index
16 Optimum Schema Schema Indices Queries
17 Schema Design Smaller is better Use smallest datatype to represent data Uses less resources: disk, memory, CPU cache Performance: comparing terms Integers > characters MySQL built-ins > strings Store IP addresses as integers instead of strings
18 Schema Design Avoid NULL Specify columns as NOT NULL Use ENUM instead of String Join like columns converting columns -> performance hit
19 Schema Normalization Don t over-normalize Some data redundancy is not bad Normalized Smaller tables Updates/inserts faster Smaller footprint More JOINS lowers performance Best for WRITE intensive Denormalized No need for JOINS SELECTS are fast Efficient use of indices Larger footprint Slower inserts/updates Potential inconsistency Best for READ intensive
20 Optimum Indices Indices queries Schema
21 Indexing Indexing optimization Powerful way to improve query performance Optimal indices can provide 2x improvement May require rewriting queries
22 Indexing Why? Reduces amount of data that needs to be examined Does pre-sorting of data Turns random I/O to sequential I/O When? Small tables - unnecessary Medium/Large tables - can be effective Enormous - consider sharding
23 Good vs Optimum Index places relevant rows next to each other
24 Good vs Optimum Index places relevant rows next to each other Rows are sorted in the order needed by the query
25 Good vs Optimum Index places relevant rows next to each other Rows are sorted in the order needed by the query Contains all the columns needed for the query
26 Good vs Optimum SELECT a FROM <table> WHERE b = const ORDER BY c;
27 Good vs Optimum SELECT a FROM <table> WHERE b = const ORDER BY c; KEY Good b ; Index places relevant rows next to each other
28 Good vs Optimum SELECT a FROM <table> WHERE b = const ORDER BY c; KEY Better b,c ; Index places relevant rows next to each other Rows are sorted in the order needed by the query
29 Good vs Optimum SELECT a FROM <table> WHERE b = const ORDER BY c; KEY Optimal a, b, c ; Index places relevant rows next to each other Rows are sorted in the order needed by the query Contains all the columns needed for the query
30 Good vs Optimum Covered Index SELECT a FROM <table> WHERE b = const ORDER BY c; KEY Optimal a, b, c ; Index places relevant rows next to each other Rows are sorted in the order needed by the query Contains all the columns needed for the query
31 Indexing - Multi-Column Index on 2 columns 2 separate single column indices. Common mistake: index all the individual columns MySQL can merge individual indices Explain: type = merged index Indicative of poorly indexed table Solution: 1 multi-column index
32 Indexing - Multi-Column Column order matters! Correct order depends on the queries Rule of thumb: place most selective to the left
33 Indexing - Multi-Column key (last_name, first_name, DOB) GOOD Match full value Match left most prefix Match a range of values Match one part exactly, match a range on another BAD No good if lookup doesn t start with left most column Can t skip columns in index Can t match after 1st range search
34 Covering Index An index that contains all the required fields of a query Does not need to access any data (it s all in the index) Index entries are usually small (can cache more) Range searches do less I/O
35 Hash index Can be lightening fast has many limitations, but great when appropriately Limitations no sorting no partial key match only equality comparisons MyISAM - Explicit Hash Index InnoDB - Implicit Hash Index Adaptive Hash index
36 Optimum Queries Queries Indices Queries
37 Query Optimization Queries are tasks composed of sub tasks Optimize query = optimize subtask Make subtask happen faster Eliminate subtask Reduce frequency of subtask
38 Basics Are you retrieving data you don t need?
39 Basics Are you retrieving data you don t need? Fetching more rows than necessary
40 Basics Are you retrieving data you don t need? Fetching more rows than necessary LIMIT n
41 Basics Are you retrieving data you don t need? Fetching more rows than necessary Fetching more columns than necessary LIMIT n
42 Basics Are you retrieving data you don t need? Fetching more rows than necessary Fetching more columns than necessary LIMIT n Choose carefully!
43 Too many columns Select * from
44 Multi-JOIN SELECT SELECT * FROM sakila.actor INNER JOIN sakila.film_actor USING(actor_id) INNER JOIN sakila.film USING(film_id WHERE sakila.film.title = Zorro Ark ;
45 Multi-JOIN SELECT BAD! SELECT * FROM sakila.actor INNER JOIN sakila.film_actor USING(actor_id) INNER JOIN sakila.film USING(film_id WHERE a = Zorro Ark ;
46 Multi-JOIN SELECT Better! SELECT sakila.actor.* FROM sakila.actor INNER JOIN sakila.film_actor USING(actor_id) INNER JOIN sakila.film USING(film_id WHERE sakila.film.title = Zorro Ark ;
47 Negating left joins with a WHERE clause Table1 id1 value1 1 AA 2 BB 3 CC Table2 id2 value2 1 DD 2 EE SELECT * FROM table1 LEFT JOIN table2 ON table1.id=test2.id id1 value1 id2 value2 1 AA 1 DD 2 BB 2 EE 3 CC NULL NULL
48 Negating left joins with a WHERE clause Table1 id1 value1 1 AA 2 BB 3 CC Table2 SELECT * FROM table1 LEFT JOIN table2 ON table1.id = test2.id WHERE table2.value2 = DD id1 value1 id2 value2 1 AA 1 DD id2 value2 1 DD 2 EE
49 Functions & Expressions Functions and expressions disable indices: SELECT * FROM your_table WHERE SOME_FUNCTION(indexed_field) > value; SELECT * FROM your_table WHERE indexed_field + const > value;
50 Functions & Expressions Example: using a key field inside an expression mysql> explain select * from actor where actor_id+1 > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where
51 Functions & Expressions Example: using a key field inside an expression mysql> explain select * from actor where actor_id+1 > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where
52 Functions & Expressions Example: using a key field inside an expression mysql> explain select * from actor where actor_id+1 > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where BAD!
53 Functions & Expressions Example: using a key field inside an expression mysql> explain select * from actor where actor_id+1 > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where BAD! mysql> explain select * from actor where actor_id > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor range PRIMARY PRIMARY 2 NULL 3 Using where
54 Functions & Expressions Example: using a key field inside an expression mysql> explain select * from actor where actor_id+1 > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where BAD! mysql> explain select * from actor where actor_id > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor range PRIMARY PRIMARY 2 NULL 3 Using where
55 Functions & Expressions Example: using a key field inside an expression mysql> explain select * from actor where actor_id+1 > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where BAD! mysql> explain select * from actor where actor_id > 197; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor range PRIMARY PRIMARY 2 NULL 3 Using where Better!
56 Functions & Expressions Example: using a key field inside a function mysql> EXPLAIN SELECT * FROM actor WHERE SQRT(actor_id)>14; id select_type table type possible_keys key key_len ref rows Extra SIMPLE actor ALL NULL NULL NULL NULL 200 Using where BAD!
57 Aggregate functions Performance killers on large data sets How much accuracy do you really need? Instead of: SELECT AVG(actor_id) FROM actor; How about: SELECT AVG(actor_id) FROM (SELECT actor_id FROM actor LIMIT 10);
58 Query Cache have_query_cache = YES Stores SELECT statement as well as resultant set Best for READ intensive applications Warning: Global mutex serializes access to query cache - possible bottleneck!
59 Know Your Engine InnoDB Row level locking Great for WRITE intensive apps MyISAM Table level locking Great for READ intensive apps TokuDB Row level locking Compression
60 Miscellaneous Purge old data Break up delete operations Are all BUFFER sized correctly? InnoDB Buffer Pool: Hot data set Use ANALYZE TABLE statement periodically Turn on slow query log file Run alter table: rebuilds tables - defrag ALTER TABLE tbl_name ENGINE=INNODB JOINS better than SubSelects
61 Percona Tools pt-query-digest pt-duplicate-key-checker pt-index-usage pt-visual-explain pt-table-usage
62 Percona Cloud Tools: PCT Percona Cloud Tools Performance optimization Troubleshooting Capacity planning Query review Nice graphs Great for multi-server environments
63 Thank you!
Covering indexes. Stéphane Combaudon - SQLI
Covering indexes Stéphane Combaudon - SQLI Indexing basics Data structure intended to speed up SELECTs Similar to an index in a book Overhead for every write Usually negligeable / speed up for SELECT Possibility
More informationIndexes - What You Need to Know
Indexes - What You Need to Know http://www.percona.com/training/ 2011-2017 Percona, Inc. 1 / 53 Indexes - Need to Know QUERY PLANNING 2011-2017 Percona, Inc. 2 / 53 About This Chapter The number one goal
More informationQuery Optimization Percona, Inc. 1 / 74
Query Optimization http://www.percona.com/training/ 2011-2017 Percona, Inc. 1 / 74 Table of Contents 1. Query Planning 3. Composite Indexes 2. Explaining the EXPLAIN 4. Kitchen Sink 2011-2017 Percona,
More informationOKC MySQL Users Group
OKC MySQL Users Group OKC MySQL Discuss topics about MySQL and related open source RDBMS Discuss complementary topics (big data, NoSQL, etc) Help to grow the local ecosystem through meetups and events
More informationMySQL 101. Designing effective schema for InnoDB. Yves Trudeau April 2015
MySQL 101 Designing effective schema for InnoDB Yves Trudeau April 2015 About myself : Yves Trudeau Principal architect at Percona since 2009 With MySQL then Sun, 2007 to 2009 Focus on MySQL HA and distributed
More informationAdvanced MySQL Query Tuning
Advanced MySQL Query Tuning Alexander Rubin August 6, 2014 About Me My name is Alexander Rubin Working with MySQL for over 10 years Started at MySQL AB, then Sun Microsystems, then Oracle (MySQL Consulting)
More information1Z MySQL 5 Database Administrator Certified Professional Exam, Part II Exam.
Oracle 1Z0-874 MySQL 5 Database Administrator Certified Professional Exam, Part II Exam TYPE: DEMO http://www.examskey.com/1z0-874.html Examskey Oracle 1Z0-874 exam demo product is here for you to test
More informationHigh Performance MySQL Practical Tuesday, April 01, :45
High Performance MySQL Practical Tuesday, April 01, 2014 16:45 1. Optimal Data Types: a. Choose Data Type Suggestion: i. Smaller is usually better ii. Simple is good iii. Avoid NULL if possible b. MySQL
More informationAdvanced MySQL Query Tuning
Advanced MySQL Query Tuning Alexander Rubin July 21, 2013 About Me My name is Alexander Rubin Working with MySQL for over 10 years Started at MySQL AB, then Sun Microsystems, then Oracle (MySQL Consulting)
More informationPractical MySQL indexing guidelines
Practical MySQL indexing guidelines Percona Live October 24th-25th, 2011 London, UK Stéphane Combaudon stephane.combaudon@dailymotion.com Agenda Introduction Bad indexes & performance drops Guidelines
More informationHow to Use JSON in MySQL Wrong
How to Use JSON in MySQL Wrong Bill Karwin, Square Inc. October, 2018 1 Me Database Developer at Square Inc. MySQL Quality Contributor Author of SQL Antipatterns: Avoiding the Pitfalls of Database Programming
More informationOracle 1Z MySQL 5.6 Database Administrator. Download Full Version :
Oracle 1Z0-883 MySQL 5.6 Database Administrator Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-883 D. The mysqld binary was not compiled with SSL support. E. The server s SSL certificate
More informationOptimizing Queries with EXPLAIN
Optimizing Queries with EXPLAIN Sheeri Cabral Senior Database Administrator Twitter: @sheeri What is EXPLAIN? SQL Extension Just put it at the beginning of your statement Can also use DESC or DESCRIBE
More informationMySQL Query Tuning 101. Sveta Smirnova, Alexander Rubin April, 16, 2015
MySQL Query Tuning 101 Sveta Smirnova, Alexander Rubin April, 16, 2015 Agenda 2 Introduction: where to find slow queries Indexes: why and how do they work All about EXPLAIN More tools Where to find more
More informationMastering the art of indexing
Mastering the art of indexing Yoshinori Matsunobu Lead of MySQL Professional Services APAC Sun Microsystems Yoshinori.Matsunobu@sun.com 1 Table of contents Speeding up Selects B+TREE index structure Index
More informationTarget Practice. A Workshop in Tuning MySQL Queries OSCON Jay Pipes Community Relations Manager, North America MySQL, Inc.
Target Practice A Workshop in Tuning MySQL Queries OSCON 2007 Jay Pipes Community Relations Manager, North America MySQL, Inc. Setup Download materials and MySQL Community Server Download workshop materials
More information<Insert Picture Here> Looking at Performance - What s new in MySQL Workbench 6.2
Looking at Performance - What s new in MySQL Workbench 6.2 Mario Beck MySQL Sales Consulting Manager EMEA The following is intended to outline our general product direction. It is
More informationTired of MySQL Making You Wait? Alexander Rubin, Principal Consultant, Percona Janis Griffin, Database Evangelist, SolarWinds
Tired of MySQL Making You Wait? Alexander Rubin, Principal Consultant, Percona Janis Griffin, Database Evangelist, SolarWinds Who Am I? Senior DBA / Performance Evangelist for Solarwinds Janis.Griffin@solarwinds.com
More informationMySQL Indexing. Best Practices for MySQL 5.6. Peter Zaitsev CEO, Percona MySQL Connect Sep 22, 2013 San Francisco,CA
MySQL Indexing Best Practices for MySQL 5.6 Peter Zaitsev CEO, Percona MySQL Connect Sep 22, 2013 San Francisco,CA For those who Does not Know Us Percona Helping Businesses to be Successful with MySQL
More informationMySQL Indexing. Best Practices. Peter Zaitsev, CEO Percona Inc August 15, 2012
MySQL Indexing Best Practices Peter Zaitsev, CEO Percona Inc August 15, 2012 You ve Made a Great Choice! Understanding indexing is crucial both for Developers and DBAs Poor index choices are responsible
More informationDATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11
DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance
More informationExplaining the MySQL EXPLAIN
Explaining the MySQL EXPLAIN Ronald Bradford http://ronaldbradford.com OTN South America Tour July 2011 Agenda EXPLAIN syntax options How to read QEP QEP examples MySQL optimizer limitations PURPOSE EXPLAIN
More informationMySQL Utilities, part 1. Sheeri Cabral. Senior DB Admin/Architect,
MySQL Utilities, part 1 Sheeri Cabral Senior DB Admin/Architect, Mozilla @sheeri www.sheeri.com A set of tools What are they? What are they? A set of tools Like Percona toolkit, Open Ark Kit What are they?
More informationPostgreSQL to MySQL A DBA's Perspective. Patrick
PostgreSQL to MySQL A DBA's Perspective Patrick King @mr_mustash Yelp s Mission Connecting people with great local businesses. My Database Experience Started using Postgres 7 years ago Postgres 8.4 (released
More informationLecture 19 Query Processing Part 1
CMSC 461, Database Management Systems Spring 2018 Lecture 19 Query Processing Part 1 These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used from
More informationMySQL Schema Review 101
MySQL Schema Review 101 How and What you should be looking at... Mike Benshoof - Technical Account Manager, Percona Agenda Introduction Key things to consider and review Tools to isolate issues Common
More informationColdFusion Summit 2016
ColdFusion Summit 2016 Building Better SQL Server Databases Who is this guy? Eric Cobb - Started in IT in 1999 as a "webmaster - Developer for 14 years - Microsoft Certified Solutions Expert (MCSE) - Data
More informationTools and Techniques for Index Design. Bill Karwin, Percona Inc.
Tools and Techniques for Index Design Bill Karwin, Percona Inc. It s About Performance What s the most frequent recommendation in database performance audits? What s the easiest way to speed up SQL queries,
More informationMySQL Database Scalability
MySQL Database Scalability Nextcloud Conference 2016 TU Berlin Oli Sennhauser Senior MySQL Consultant at FromDual GmbH oli.sennhauser@fromdual.com 1 / 14 About FromDual GmbH Support Consulting remote-dba
More informationState of MariaDB. Igor Babaev Notice: MySQL is a registered trademark of Sun Microsystems, Inc.
State of MariaDB Igor Babaev igor@askmonty.org New features in MariaDB 5.2 New engines: OQGRAPH, SphinxSE Virtual columns Extended User Statistics Segmented MyISAM key cache Pluggable Authentication Storage-engine-specific
More informationBuilding Better. SQL Server Databases
Building Better SQL Server Databases Who is this guy? Eric Cobb Started in IT in 1999 as a "webmaster Developer for 14 years Microsoft Certified Solutions Expert (MCSE) Data Platform Data Management and
More informationPractical Performance Tuning using Digested SQL Logs. Bob Burgess Salesforce Marketing Cloud
Practical Performance Tuning using Digested SQL Logs Bob Burgess Salesforce Marketing Cloud Who?! Database Architect! Salesforce Marketing Cloud (Radian6 & Buddy Media stack) Why?! I can t be the only
More informationAdvanced query optimization techniques on large queries. Peter Boros Percona Webinar
Advanced query optimization techniques on large queries Peter Boros Percona Webinar Agenda Showing the title slide Going through this agenda Prerequisites Case study #1 Case study #2 Case study #3 Case
More informationDatabase performance becomes an important issue in the presence of
Database tuning is the process of improving database performance by minimizing response time (the time it takes a statement to complete) and maximizing throughput the number of statements a database can
More informationMySQL Schema Best Practices
MySQL Schema Best Practices 2 Agenda Introduction 3 4 Introduction - Sample Schema Key Considerations 5 Data Types 6 Data Types [root@plive-2017-demo plive_2017]# ls -alh action*.ibd -rw-r-----. 1 mysql
More informationThe Top 20 Design Tips
The Top 20 Design Tips For MySQL Enterprise Data Architects Ronald Bradford COO PrimeBase Technologies April 2008 Presented Version By: 1.1 Ronald 10.Apr.2008 Bradford 1. Know Your Technology Tools Generics
More informationOptimizer Standof. MySQL 5.6 vs MariaDB 5.5. Peter Zaitsev, Ovais Tariq Percona Inc April 18, 2012
Optimizer Standof MySQL 5.6 vs MariaDB 5.5 Peter Zaitsev, Ovais Tariq Percona Inc April 18, 2012 Thank you Ovais Tariq Ovais Did a lot of heavy lifing for this presentation He could not come to talk together
More informationQuery Optimization, part 2: query plans in practice
Query Optimization, part 2: query plans in practice CS634 Lecture 13 Slides by E. O Neil based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Working with the Oracle query optimizer First
More informationPart 1: IoT demo Part 2: MySQL, JSON and Flexible storage
Part 1: IoT demo Part 2: MySQL, JSON and Flexible storage $ node particle_mysql_all.js Starting... INSERT INTO cloud_data_json (name, data) values ('particle', '{\"data\":\"null\",\"ttl\":60,\"published_at\":\"2017-09-28t19:40:49.869z\",\"coreid\":\"1f0039000947343337373738
More informationDatabasesystemer, forår 2005 IT Universitetet i København. Forelæsning 8: Database effektivitet. 31. marts Forelæser: Rasmus Pagh
Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 8: Database effektivitet. 31. marts 2005 Forelæser: Rasmus Pagh Today s lecture Database efficiency Indexing Schema tuning 1 Database
More informationitexamdump 최고이자최신인 IT 인증시험덤프 일년무료업데이트서비스제공
itexamdump 최고이자최신인 IT 인증시험덤프 http://www.itexamdump.com 일년무료업데이트서비스제공 Exam : 1z1-882 Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-882
More informationWhen and How to Take Advantage of New Optimizer Features in MySQL 5.6. Øystein Grøvlen Senior Principal Software Engineer, MySQL Oracle
When and How to Take Advantage of New Optimizer Features in MySQL 5.6 Øystein Grøvlen Senior Principal Software Engineer, MySQL Oracle Program Agenda Improvements for disk-bound queries Subquery improvements
More informationIT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:
IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including: 1. IT Cost Containment 84 topics 2. Cloud Computing Readiness 225
More informationBuilding Better. SQL Server Databases
Building Better SQL Server Databases Who is this guy? Eric Cobb SQL Server Database Administrator MCSE: Data Platform MCSE: Data Management and Analytics 1999-2013: Webmaster, Programmer, Developer 2014+:
More informationBEYOND THE RDBMS: WORKING WITH RELATIONAL DATA IN MARKLOGIC
BEYOND THE RDBMS: WORKING WITH RELATIONAL DATA IN MARKLOGIC Rob Rudin, Solutions Specialist, MarkLogic Agenda Introduction The problem getting relational data into MarkLogic Demo how to do this SLIDE:
More informationCSED421 Database Systems Lab. Index
CSED421 Database Systems Lab Index Index of Index What is an index? When to Create an Index or Not? Index Syntax UNIQUE Index / Indexing Prefixes / Multiple-column index Confirming indexes Index types
More informationMongoDB Schema Design
MongoDB Schema Design Demystifying document structures in MongoDB Jon Tobin @jontobs MongoDB Overview NoSQL Document Oriented DB Dynamic Schema HA/Sharding Built In Simple async replication setup Automated
More informationSQL QUERY EVALUATION. CS121: Relational Databases Fall 2017 Lecture 12
SQL QUERY EVALUATION CS121: Relational Databases Fall 2017 Lecture 12 Query Evaluation 2 Last time: Began looking at database implementation details How data is stored and accessed by the database Using
More informationOracle Exam 1z0-882 Oracle Certified Professional, MySQL 5.6 Developer Version: 7.0 [ Total Questions: 100 ]
s@lm@n Oracle Exam 1z0-882 Oracle Certified Professional, MySQL 5.6 Developer Version: 7.0 [ Total Questions: 100 ] Oracle 1z0-882 : Practice Test Question No : 1 Consider the statements: Mysql> drop function
More informationMaximizing SQL reviews with pt-query-digest
PALOMINODB OPERATIONAL EXCELLENCE FOR DATABASES Maximizing SQL reviews with pt-query-digest Mark Filipi www.palominodb.com What is pt-query-digest Analyzes MySQL queries from slow, general and binary log
More informationSystem Characteristics
System Characteristics Performance is influenced by characteristics of the system hosting the database server, for example: - Disk input/output (I/O) speed. - Amount of memory available. - Processor speed.
More informationIndexing & Storage Engines
Indexing & Storage Engines October 26, 2017 Chapter 8 Pacific University 1 Professors Join What happens? Primary Key? Index? ProfID FName LName StartDate StatusID 1 D R 1999-08-01 3 2 S K 2002-08-01 3
More informationWhat is MariaDB 5.5? w: e: Daniel Bartholomew Oct 2012
What is MariaDB 5.5? Daniel Bartholomew Oct 2012 Abstract MariaDB 5.5 is the current stable, generally available (GA) release of MariaDB. It builds upon and includes several major new features and changes
More informationMySQL Performance Tuning
MySQL Performance Tuning Student Guide D61820GC30 Edition 3.0 January 2017 D89524 Learn more from Oracle University at education.oracle.com Authors Mark Lewin Jeremy Smyth Technical Contributors and Reviewers
More informationIntroduction to SQL on GRAHAM ED ARMSTRONG SHARCNET AUGUST 2018
Introduction to SQL on GRAHAM ED ARMSTRONG SHARCNET AUGUST 2018 Background Information 2 Background Information What is a (Relational) Database 3 Dynamic collection of information. Organized into tables,
More informationKathleen Durant PhD Northeastern University CS Indexes
Kathleen Durant PhD Northeastern University CS 3200 Indexes Outline for the day Index definition Types of indexes B+ trees ISAM Hash index Choosing indexed fields Indexes in InnoDB 2 Indexes A typical
More informationOracle 1Z0-882 Exam. Volume: 100 Questions. Question No: 1 Consider the table structure shown by this output: Mysql> desc city:
Volume: 100 Questions Question No: 1 Consider the table structure shown by this output: Mysql> desc city: 5 rows in set (0.00 sec) You execute this statement: SELECT -,-, city. * FROM city LIMIT 1 What
More informationPartitioning. Sheeri K. Cabral Database Administrator The Pythian Group, January 12, 2009
Partitioning Sheeri K. Cabral Database Administrator The Pythian Group, www.pythian.com cabral@pythian.com January 12, 2009 Partitioning Why What How How to Partition CREATE TABLE tblname ( fld FLDTYPE...
More informationChapter 8: Working With Databases & Tables
Chapter 8: Working With Databases & Tables o Working with Databases & Tables DDL Component of SQL Databases CREATE DATABASE class; o Represented as directories in MySQL s data storage area o Can t have
More informationExam Questions 1z0-882
Exam Questions 1z0-882 Oracle Certified Professional, MySQL 5.6 Developer https://www.2passeasy.com/dumps/1z0-882/ 1.Which statement describes the process of normalizing databases? A. All text is trimmed
More informationMySQL Performance Optimization and Troubleshooting with PMM. Peter Zaitsev, CEO, Percona
MySQL Performance Optimization and Troubleshooting with PMM Peter Zaitsev, CEO, Percona In the Presentation Practical approach to deal with some of the common MySQL Issues 2 Assumptions You re looking
More informationMySQL 5.7 For Operational DBAs an Introduction. Peter Zaitsev, CEO, Percona February 16, 2016 Percona Technical Webinars
MySQL 5.7 For Operational DBAs an Introduction Peter Zaitsev, CEO, Percona February 16, 2016 Percona Technical Webinars MySQL 5.7 is Great! A lot of Worthy Changes for Developers and DBAs 2 What Developers
More informationPagina 1 di 5 13.1.4. INSERT Syntax 13.1.4.1. INSERT... SELECT Syntax 13.1.4.2. INSERT DELAYED Syntax INSERT [LOW_PRIORITY DELAYED HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr
More informationOral Questions and Answers (DBMS LAB) Questions & Answers- DBMS
Questions & Answers- DBMS https://career.guru99.com/top-50-database-interview-questions/ 1) Define Database. A prearranged collection of figures known as data is called database. 2) What is DBMS? Database
More informationEffective Testing for Live Applications. March, 29, 2018 Sveta Smirnova
Effective Testing for Live Applications March, 29, 2018 Sveta Smirnova Table of Contents Sometimes You Have to Test on Production Wrong Data SELECT Returns Nonsense Wrong Data in the Database Performance
More informationTips from the Trenches Preventing downtime for the over extended DBA. Andrew Moore Senior Remote DBA Percona Managed Services
Tips from the Trenches Preventing downtime for the over extended DBA Andrew Moore Senior Remote DBA Percona Managed Services Your Presenter Andrew Moore @mysqlboy on twitter 1+ year in Manager Services
More informationSheeri Cabral. Are You Getting the Best Out of Your MySQL Indexes? Slides
Are You Getting the Best Out of Your MySQL Indexes? Slides http://bit.ly/mysqlindex2 Sheeri Cabral Senior DB Admin/Architect, Mozilla @sheeri www.sheeri.com What is an index? KEY vs. INDEX KEY = KEY CONSTRAINT
More informationSun Certified MySQL 5.0 Developer Part II
310-813 Sun Certified MySQL 5.0 Developer Part II Version 13.3 QUESTION NO: 1 When executing multi-row operations, what should be the first thing you look for to see if anything unexpected happened? A.
More informationTo insert a record into a table, you must specify values for all fields that do not have default values and cannot be NULL.
Once tables have been created, the database sits like an empty container. To initially fill this database container with data, we need to use INSERT statements to add data in a MySQL database. To insert
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2015 Quiz I
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2015 Quiz I There are 12 questions and 13 pages in this quiz booklet. To receive
More informationMySQL 8.0 What s New in the Optimizer
MySQL 8.0 What s New in the Optimizer Manyi Lu Director MySQL Optimizer & GIS Team, Oracle October 2016 Copyright Copyright 2 015, 2016,Oracle Oracle and/or and/or its its affiliates. affiliates. All All
More informationSwitching to Innodb from MyISAM. Matt Yonkovit Percona
Switching to Innodb from MyISAM Matt Yonkovit Percona -2- DIAMOND SPONSORSHIPS THANK YOU TO OUR DIAMOND SPONSORS www.percona.com -3- Who We Are Who I am Matt Yonkovit Principal Architect Veteran of MySQL/SUN/Percona
More informationScaling Without Sharding. Baron Schwartz Percona Inc Surge 2010
Scaling Without Sharding Baron Schwartz Percona Inc Surge 2010 Web Scale!!!! http://www.xtranormal.com/watch/6995033/ A Sharding Thought Experiment 64 shards per proxy [1] 1 TB of data storage per node
More informationColumn Stores vs. Row Stores How Different Are They Really?
Column Stores vs. Row Stores How Different Are They Really? Daniel J. Abadi (Yale) Samuel R. Madden (MIT) Nabil Hachem (AvantGarde) Presented By : Kanika Nagpal OUTLINE Introduction Motivation Background
More informationTroubleshooting Slow Queries. Sveta Smirnova Principal Support Engineer April, 28, 2016
Troubleshooting Slow Queries Sveta Smirnova Principal Support Engineer April, 28, 2016 Table of Contents Before we start What affects query execution EXPLAIN: how to find out how optimizer works Data matters:
More informationOptimizing BOINC project databases
Optimizing BOINC project databases Oliver Bock Max Planck Institute for Gravitational Physics Hannover, Germany 5th Pan-Galactic BOINC Workshop Catalan Academy of Letters, Sciences and Humanities Barcelona,
More information<Insert Picture Here> Boosting performance with MySQL partitions
Boosting performance with MySQL partitions Giuseppe Maxia MySQL Community Team Lead at Oracle 1 about me -Giuseppe Maxia a.k.a. The Data Charmer MySQL Community Team Lead Long time
More informationphp works 2005 Lukas Smith
fast, portable, SQL php works 2005 Lukas Smith smith@pooteeweet.org Agenda: The SQL Standard Understanding Performance Tables and Columns Simple Searches Sorting and Aggregation Joins and Subqueries Indexes
More information1. Introduction. 2. History. Table of Contents
Table of Contents 1. Introduction... 1 2. History... 1 3. Installation... 2 4. Structure... 3 4.1. Tables... 4 4.2. Views...10 4.3. Stored Procedures...11 4.4. Stored Functions...13 4.5. Triggers...14
More informationQuerying Data with Transact SQL
Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including
More informationHandout 6 CS-605 Spring 18 Page 1 of 7. Handout 6. Physical Database Modeling
Handout 6 CS-605 Spring 18 Page 1 of 7 Handout 6 Physical Database Modeling Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create
More informationMySQL vs MariaDB. Where are we now?
MySQL vs MariaDB Where are we now? Hey! A BRIEF HISTORY OF THE UNIVERSE (of MySQL and MariaDB) Herman Hollerith Unireg Begins Essentially, the origin of what we know MySQL as today, establishing its code
More informationThe MariaDB/MySQL Query Executor In-depth. Presented by: Timour Katchaounov Optimizer team: Igor Babaev, Sergey Petrunia, Timour Katchaounov
The MariaDB/MySQL Query Executor In-depth Presented by: Timour Katchaounov Optimizer team: Igor Babaev, Sergey Petrunia, Timour Katchaounov Outline What's IN Query engine architecture Execution model Representation
More informationQuery Evaluation Overview, cont.
Query Evaluation Overview, cont. Lecture 9 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Architecture of a DBMS Query Compiler Execution Engine Index/File/Record Manager
More informationTool/Web URL Features phpmyadmin. More on phpmyadmin under User Intefaces. MySQL Query Browser
To store data in MySQL, we will set up a database and then place tables, relationships and other objects in that database, following a design that maps to our application requirements. We will use a command-line
More information<Insert Picture Here> Upcoming Changes in MySQL 5.7 Morgan Tocker, MySQL Community Manager
Upcoming Changes in MySQL 5.7 Morgan Tocker, MySQL Community Manager http://www.tocker.ca/ Safe Harbor Statement The following is intended to outline our general product direction.
More informationMySQL 5.0 Certification Study Guide
MySQL 5.0 Certification Study Guide Paul DuBois, Stefan Hinz, and Carsten Pedersen MySQC Press 800 East 96th Street, Indianapolis, Indiana 46240 USA Table of Contents Introduction 1 About This Book 1 Sample
More informationOracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ]
s@lm@n Oracle Exam 1z0-883 MySQL 5.6 Database Administrator Version: 8.0 [ Total Questions: 100 ] Oracle 1z0-883 : Practice Test Question No : 1 Consider the Mysql Enterprise Audit plugin. You are checking
More informationMySQL Performance Optimization
P R A C T I C A L MySQL Performance Optimization A hands-on, business-case-driven guide to understanding MySQL query parameter tuning and database performance optimization. With the increasing importance
More informationWhy we re excited about MySQL 8
Why we re excited about MySQL 8 Practical Look for Devs and Ops Peter Zaitsev, CEO, Percona February 4nd, 2018 FOSDEM 1 In the Presentation Practical view on MySQL 8 Exciting things for Devs Exciting things
More informationCoding and Indexing Strategies for Optimal Performance
Coding and Indexing Strategies for Optimal Performance Jay Pipes Community Relations Manager, North America (jay@mysql.com) MySQL AB 1 Agenda Index Concepts What Makes a Good Index? Identifying Good Candidates
More informationAccelerating BI on Hadoop: Full-Scan, Cubes or Indexes?
White Paper Accelerating BI on Hadoop: Full-Scan, Cubes or Indexes? How to Accelerate BI on Hadoop: Cubes or Indexes? Why not both? 1 +1(844)384-3844 INFO@JETHRO.IO Overview Organizations are storing more
More informationWhy Choose Percona Server For MySQL? Tyler Duzan
Why Choose Percona Server For MySQL? Tyler Duzan Product Manager Who Am I? My name is Tyler Duzan Formerly an operations engineer for more than 12 years focused on security and automation Now a Product
More informationEvaluation of Relational Operations
Evaluation of Relational Operations Chapter 14 Comp 521 Files and Databases Fall 2010 1 Relational Operations We will consider in more detail how to implement: Selection ( ) Selects a subset of rows from
More informationUpgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc
Upgrading MySQL Best Practices Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc MySQL Upgrade How many of you have performed MySQL upgrade? Home many of you have done
More informationQuery Evaluation Overview, cont.
Query Evaluation Overview, cont. Lecture 9 Feb. 29, 2016 Slides based on Database Management Systems 3 rd ed, Ramakrishnan and Gehrke Architecture of a DBMS Query Compiler Execution Engine Index/File/Record
More informationEvaluation of Relational Operations: Other Techniques
Evaluation of Relational Operations: Other Techniques [R&G] Chapter 14, Part B CS4320 1 Using an Index for Selections Cost depends on #qualifying tuples, and clustering. Cost of finding qualifying data
More informationCAS CS 460/660 Introduction to Database Systems. Query Evaluation II 1.1
CAS CS 460/660 Introduction to Database Systems Query Evaluation II 1.1 Cost-based Query Sub-System Queries Select * From Blah B Where B.blah = blah Query Parser Query Optimizer Plan Generator Plan Cost
More informationCourse Outline. MySQL Database Administration & Design. Course Description: Pre-requisites: Course Content:
MySQL Database Administration & Design Course Description: MySQL is the open source community's most popular Relational Database Management System (RDBMS) offering, and is a key part of LAMP - Linux, Apache,
More informationMySQL for Developers with Developer Techniques Accelerated
Oracle University Contact Us: 02 696 8000 MySQL for Developers with Developer Techniques Accelerated Duration: 5 Days What you will learn This MySQL for Developers with Developer Techniques Accelerated
More information