SlideShare a Scribd company logo
1 of 58
Download to read offline
1Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
MySQL JSON Functions
Sveta Smirnova
Principal Technical Support Engineer

2Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Insert Picture Here
Program Agenda
 Introduction: NoSQL involvement on MySQL
 Overview of the functions
 Function descriptions
 Where to get
 The future

3Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
NoSQL history
4
3.5
3
2.5
2
1.5

Main historic points of
NoSQL

1
0.5

WebSphere
MongoDB
Virtuoso
Redis
DynamoDB
MemcacheDB
Tarantool
Hbase
CouchDB
BigTable
db40 memcached
NoSQL
NoSQL Insert Chart Here term
database

0
1997

1998

2000

2003

2004

2008

Databases

4Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

2009

2010

2012

2013
NoSQL in MySQL world
Hadoop Applier
mysqlv8udfs
JSON UDFs
InnoDB with memcached
Memcache API for
MySQL Cluster

6
5
4
3

Main points for NoSQL
features in MySQL

HandlerSocket NoSQL Connector
Insert Chart Here
for JavaScript
1 Memcached bugs
EXPLAIN in JSON
at mysql.com
0

2

2009

5Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

2010

2011

2012

2013
JSON functions in MySQL

A little bit before this year

0.2
0.18
0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0

Version 0.2

Version 0.1
Never published
Insert Chart Here
2012
2013

6Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
JSON functions overview
What are they doing?

Functions
Manipulate JSON text
●
Validate
●
Search
●
Modify
UDF functions
●
Easy to install
●
Independent from MySQL server version
Work on all MySQL supported platforms
Binaries for Linux, Mac OSX 7 and Windows

7Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How to install?
UNIX
create function json_valid returns integer
soname 'libmy_json_udf.so';
create function json_search returns string
soname 'libmy_json_udf.so';
create function json_extract returns string
soname 'libmy_json_udf.so';
create function json_replace returns string
soname 'libmy_json_udf.so';
create function json_append returns string
soname 'libmy_json_udf.so';
...

8Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How to install?
Windows
create function json_remove returns string 
soname 'my_json_udf.dll';
create function json_set returns string 
soname 'my_json_udf.dll';
create function json_merge returns string 
soname 'my_json_udf.dll';
create function json_contains_key returns integer
soname 'my_json_udf.dll';
create function json_test_parser returns string
soname 'my_json_udf.dll';
...
9Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Dependencies

Regex library
UNIX
●
Usually already exists
Windows
●
Provided with sources
●
Compiled statically
You don't need to install additional libraries to run the UDF!

10Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How to compile?
UNIX
You need:
●
cmake
●
Regex library (usually already exists)
●
Working compiler
To build:
●
cmake . ­DMYSQL_DIR=/home/sveta/src/mysql­5.5
●
make

11Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How to compile?
Windows
You need: PCRE static libraries, Visual Studio and cmake (cmake.org)
To build PCRE:
●
Download sources from http://www.pcre.org/ Recommended version is 8.33 or cd pcre­8.33
●
Unpack archive and run:
●
"C:Program Files (x86)CMake 2.8bincmake.exe" ­G "Visual Studio 
11 Win64"
●

●

devenv PCRE.sln /build Release

To build JSON UDFs copy pcre.h, pcreposix.h, Release/pcre.lib, 
Release/pcreposix.lib into JSON UDFs source directory, then run:
●
"C:Program Files (x86)CMake 2.8bincmake.exe" ­G "Visual Studio 
11 Win64" . ­DMYSQL_DIR="C:/MySQL/mysql­5.5"
●

devenv my_json_udf.sln /build Release

12Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Disadvantages of UDFs

They are slow
●
Can not use certain server features, available for internal functions
●
Full-text
●

Indexes

●

Built-in optimization

13Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Why UDFs?

Flexibility
●
You can install as many functions as you want: single, few or all of them
Compatible with any server version
●
You don't need to upgrade to not stable version only to try these functions
Easy to add
Easy to change
Easy to remove
Feature requests are easy to implement
●
Report bugs!
●
Raise your opinion!

14Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Functions descriptions
Insert Picture Here

15Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_valid(doc)

Checks if doc is valid JSON document.
Returns 1 if document is valid, 0 if document is invalid.
Strict format as described at http://json.org

16Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_valid(doc)

mysql> select json_valid('{"MySQL connect": ["conference", 2013]}');
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| json_valid('{"MySQL connect": ["conference", 2013]}') |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
|                                                     1 |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.01 sec)

17Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_valid(doc)

mysql> select json_valid('{"MySQL connect"}');
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| json_valid('{"MySQL connect"}') |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
|                               0 |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

18Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_contains_key(doc, keypart1, keypart2, ...)

Checks if documents contains specified key.
Returns 1 if key exists, 0 if not exists or NULL if parsing failed.
Warning! This version does not check whole document for validity.

19Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_contains_key(doc, keypart1, keypart2, ...)

SET optimizer_trace=1;
mysql> select user from mysql.user;
+­­­­­­+
...
mysql> select json_contains_key(trace, 'steps', '0', 
'join_optimization', 'steps', '0', 'condition_processing') as contains 
from information_schema.optimizer_trace;
+­­­­­­­­­­+
| contains |
+­­­­­­­­­­+
|        0 |
+­­­­­­­­­­+
1 row in set (0.01 sec)
20Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_contains_key(doc, keypart1, keypart2, ...)

mysql> select user from mysql.user where user='Sveta';
+­­­­­­+
...
mysql> select json_contains_key(trace, 'steps', '0', 
'join_optimization', 'steps', '0', 'condition_processing') as 
contains from information_schema.optimizer_trace;
+­­­­­­­­­­+
| contains |
+­­­­­­­­­­+
|        1 |
+­­­­­­­­­­+
1 row in set (0.01 sec)
21Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_extract(doc, keypart1, keypart2, ...)

Extracts value of the specified key.
Returns value of the key specified, NULL if the key does not exist or if
parsing failed.
Warning! This version does not check whole document for validity.

22Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_extract(doc, keypart1, keypart2, ...)

SET optimizer_trace=1;
mysql> select user from mysql.user;
+­­­­­­+
...
mysql> select json_extract(trace, 'steps', '0', 'join_optimization', 
'steps', '0', 'condition_processing') as value from 
information_schema.optimizer_trace;
+­­­­­­­­­­+
| value    |
+­­­­­­­­­­+
|     NULL |
+­­­­­­­­­­+
1 row in set (0.01 sec)
23Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Search path

{“steps”:
  [
    {“join_optimization”:
        {“steps”:
            [
              {“condition_processing”: .....
json_extract(trace, 'steps', '0', 
'join_optimization', 'steps', '0', 
'condition_processing')
24Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_extract(doc, keypart1, keypart2, ...)

mysql> select user from mysql.user where user='Sveta';
+­­­­­­+
...
mysql> select json_extract(trace, 'steps', '0', 'join_optimization', 
'steps', '0', 'condition_processing') as value from 
information_schema.optimizer_traceG
*************************** 1. row ***************************
value: {
              "condition": "WHERE",
              "original_condition": "(`mysql`.`user`.`User` = 
'sveta')",
              "steps": [
....
25Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_append(doc, keypart1, keypart2, ...,
new_element)
Inserts new element into JSON document.
Returns document with appended element, original document if no
place to insert or NULL if parsing failed.
Warning! This version does not check whole document for validity.

26Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_append(doc, keypart1, keypart2, ...,
new_element)
mysql> select json_append('{"MySQL connect": ["conference", 2013]}', 'MySQL 
connect', '2', '”San Francisco”') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                                          |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2013, “San Francisco”]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

27Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_append(doc, keypart1, keypart2, ...,
new_element)
mysql> select json_append('{"MySQL connect": 
["conference", 2013]}', 'MySQL connect', '1', '”San 
Francisco”') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                           |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)
28Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_replace(doc, keypart1, keypart2, ...,
new_value)
Updates value of the specified key.
Returns document with replaced key or original document if no such an
element found, NULL if parsing failed.
Warning! This version does not check whole document for validity.

29Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_replace(doc, keypart1, keypart2, ...,
new_value)
mysql> select json_replace('{"MySQL connect": 
["conference", 2013]}', 'MySQL connect', '0', '"User 
conference"') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                                |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["User conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)
30Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_replace(doc, keypart1, keypart2, ...,
new_value)
mysql> select json_replace('{"MySQL connect": 
["conference", 2013]}', 'MySQL connect', '2', '"User 
conference"') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                           |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)
31Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_set(doc, keypart1, keypart2, ..., new_value)

Performs kind of INSERT ... ON DUPLICATE KEY UPDATE operation.
Returns document with updated or inserted element or NULL if parsing
failed.
Warning! This version does not check whole document for validity.

32Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_set(doc, keypart1, keypart2, ..., new_value)

mysql> select json_set('{"MySQL connect": 
["conference", 2013]}', 'MySQL connect', '0', '"User 
conference"') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                                |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["User conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)
33Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_set(doc, keypart1, keypart2, ..., new_value)

mysql> select json_set('{"MySQL connect": ["conference", 2013]}', 'MySQL 
connect', '2', '"San Francisco"') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                                            |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2013, "San Francisco"]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

34Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_remove(doc, keypart1, keypart2, ...)

Removes element specified by the key.
Returns document without the element, original document if no element
found or NULL if parsing failed.
Warning! This version does not check whole document for validity.

35Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_remove(doc, keypart1, keypart2, ...)

mysql> select json_remove('{"MySQL connect": 
["conference", 2013]}', 'MySQL connect', '1') as 
'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                     |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference"]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)
36Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_remove(doc, keypart1, keypart2, ...)

mysql> select json_remove('{"MySQL connect": 
["conference", 2013]}', 'MySQL connect', '2') as 
'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                           |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)
37Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_search(doc, value)

Searches for specified value in the document.
Returns key path of the element which contains the value in reverse
order or NULL if not found or parsing failed.
Warning! This version does not check whole document for validity.

38Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_search(doc, value)

mysql> select json_search(trace, '"trivial_condition_removal"') from 
information_schema.optimizer_trace;
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| json_search(trace, '"trivial_condition_removal"')                               |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| transformation:0:steps:condition_processing:0:steps:join_optimization:0:steps:: |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

39Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_search(doc, value)

mysql> select json_search(trace, '"trivial_condition"') 
from information_schema.optimizer_trace;
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| json_search(trace, '"trivial_condition"') |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| NULL                                      |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.01 sec)

40Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_merge(doc1, doc2, ...)

Merges 2 or more documents into one.
Returns first document with following documents appended.
Warning! This version does not check whole document for validity.
If one of following documents does not contain an opening curly
bracket first documents merged are returned and warning is generated.
NULL if first document does not contain an opening curly bracket.

41Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_merge(doc1, doc2, ...)

mysql> select json_merge('{"MySQL connect": ["conference", 2012]}', '{"MySQL 
connect": ["conference", 2013]}') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                                                                  |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2012], "MySQL connect": ["conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

42Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_merge(doc1, doc2, ...)

mysql> select json_merge('{"MySQL connect": ["conference", 2012]}', '{"MySQL 
connect": ["conference", 2013]}', '1') as 'MySQL connect';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| MySQL connect                                                                  |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| {"MySQL connect": ["conference", 2012], "MySQL connect": ["conference", 2013]} |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

43Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_test_parser(doc)

Returns text representation of parse tree of the JSON document,
partial parse tree or empty string if document is invalid.
This function is supposed to use for tests only and should not be used
in production.

44Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_test_parser(doc)

mysql> select json_test_parser('{"MySQL connect": 
["conference", 2013]}') as 'Parse tree'G
********************** 1. row **********************
Parse tree:  => "conference";
             => 2013;
         "MySQL connect" => ["conference", 2013];
       => {"MySQL connect": ["conference", 2013]};

45Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
json_test_parser(doc)

mysql> select json_test_parser('{"MySQL connect": ["conference", 
2013]') as 'Parse tree';
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
| Parse tree                                                         |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
|  => "conference"; => 2013;"MySQL connect" => ["conference", 2013]; |
+­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­+
1 row in set (0.00 sec)

46Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Where to get
Insert Picture Here

47Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Source code and binaries

MySQL Labs
●
Source code
●
Binaries
●
x86 and x86_64
●

●

Mac OSX 10.7

●

●

Generic Linux

Windows 7

http://labs.mysql.com/

48Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
More information

Manuals and articles
●
README file
●
My blog: https://blogs.oracle.com/svetasmirnova/
Announces
●
My twitter: https://twitter.com/#!/svetsmirnova

49Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The future
Insert Picture Here

50Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Depends from you

Send bugs
Send feature requests
More you send – more ideas we implement
Now you can affect decisions

51Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Where to report bugs and feature requests

MySQL Community bugs database
●
https://bugs.mysql.com/
●
No special category for now
●
General category
●
“MySQL Server: User-defined functions (UDF)”
Internal Oracle bugs database
●

Ask MySQL Support engineer to open a bug report for you

●

Category “UDFJSON”

52Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
More NoSQL
Sessions at MySQL Connect
MySQL and Hadoop: Big Data Integration—Unlocking New Insights [CON2053,
Sunday, 11:30 AM]
MySQL User-Defined Functions....in JavaScript! [CON1738, passed]
Oracle NoSQL Database: When Is It the Right Tool for the Job? [CON13034,
Saturday, 4:00 PM]
MySQL As a NoSQL Store with the InnoDB/memcached Plug-in [CON3457,
Sunday, 1:00 PM]
MySQL’s EXPLAIN Command New Features [HOL9734, passed]
Big Data with MySQL and Hadoop [CON2342, Sunday, 5:30 PM]

53Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
References

https://blogs.oracle.com/svetasmirnova/
https://twitter.com/#!/svetsmirnova
http://json.org/
http://www.pcre.org/
http://dev.mysql.com/doc/refman/5.6/en/adding-functions.html
http://bugs.mysql.com/
https://support.oracle.com

54Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
?
Insert Picture Here

55Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
THANK YOU!
Insert Picture Here

56Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Graphic Section Divider

57Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The preceding 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.

58Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

Mysql nowwhat
Mysql nowwhatMysql nowwhat
Mysql nowwhatsqlhjalp
 
What's New MySQL 8.0?
What's New MySQL 8.0?What's New MySQL 8.0?
What's New MySQL 8.0?OracleMySQL
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...Olivier DASINI
 
20160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab0120160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab01Ivan Ma
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...Dave Stokes
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMatt Lord
 
Open Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseOpen Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseDave Stokes
 
Multi thread slave_performance_on_opc
Multi thread slave_performance_on_opcMulti thread slave_performance_on_opc
Multi thread slave_performance_on_opcShinya Sugiyama
 
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015Dave Stokes
 
MySQL Webinar 2/4 Performance tuning, hardware, optimisation
MySQL Webinar 2/4 Performance tuning, hardware, optimisationMySQL Webinar 2/4 Performance tuning, hardware, optimisation
MySQL Webinar 2/4 Performance tuning, hardware, optimisationMark Swarbrick
 
Undelete (and more) rows from the binary log
Undelete (and more) rows from the binary logUndelete (and more) rows from the binary log
Undelete (and more) rows from the binary logFrederic Descamps
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptDave Stokes
 
PNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultPNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultDave Stokes
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationKenny Gryp
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationDave Stokes
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLShlomi Noach
 

What's hot (20)

Mysql nowwhat
Mysql nowwhatMysql nowwhat
Mysql nowwhat
 
What's New MySQL 8.0?
What's New MySQL 8.0?What's New MySQL 8.0?
What's New MySQL 8.0?
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
 
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
 
20160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab0120160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab01
 
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
MySQL 5.7 NEW FEATURES, BETTER PERFORMANCE, AND THINGS THAT WILL BREAK -- Mid...
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
Open Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseOpen Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational Database
 
MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017MySQL8.0 in COSCUP2017
MySQL8.0 in COSCUP2017
 
Multi thread slave_performance_on_opc
Multi thread slave_performance_on_opcMulti thread slave_performance_on_opc
Multi thread slave_performance_on_opc
 
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
 
MySQL Monitoring 101
MySQL Monitoring 101MySQL Monitoring 101
MySQL Monitoring 101
 
MySQL Webinar 2/4 Performance tuning, hardware, optimisation
MySQL Webinar 2/4 Performance tuning, hardware, optimisationMySQL Webinar 2/4 Performance tuning, hardware, optimisation
MySQL Webinar 2/4 Performance tuning, hardware, optimisation
 
Undelete (and more) rows from the binary log
Undelete (and more) rows from the binary logUndelete (and more) rows from the binary log
Undelete (and more) rows from the binary log
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
 
PNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing DifficultPNWPHP -- What are Databases so &#%-ing Difficult
PNWPHP -- What are Databases so &#%-ing Difficult
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentation
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQL
 

Viewers also liked

Using JSON with MariaDB and MySQL
Using JSON with MariaDB and MySQLUsing JSON with MariaDB and MySQL
Using JSON with MariaDB and MySQLAnders Karlsson
 
HTTP Plugin for MySQL!
HTTP Plugin for MySQL!HTTP Plugin for MySQL!
HTTP Plugin for MySQL!Ulf Wendel
 
Making big data small
Making big data smallMaking big data small
Making big data smallandertech
 
The Ring programming language version 1.2 book - Part 18 of 84
The Ring programming language version 1.2 book - Part 18 of 84The Ring programming language version 1.2 book - Part 18 of 84
The Ring programming language version 1.2 book - Part 18 of 84Mahmoud Samir Fayed
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineKangaroot
 
Advanced Arel: When ActiveRecord Just Isn't Enough
Advanced Arel: When ActiveRecord Just Isn't EnoughAdvanced Arel: When ActiveRecord Just Isn't Enough
Advanced Arel: When ActiveRecord Just Isn't EnoughCameron Dutro
 

Viewers also liked (8)

Using JSON with MariaDB and MySQL
Using JSON with MariaDB and MySQLUsing JSON with MariaDB and MySQL
Using JSON with MariaDB and MySQL
 
HTTP Plugin for MySQL!
HTTP Plugin for MySQL!HTTP Plugin for MySQL!
HTTP Plugin for MySQL!
 
Making big data small
Making big data smallMaking big data small
Making big data small
 
The Ring programming language version 1.2 book - Part 18 of 84
The Ring programming language version 1.2 book - Part 18 of 84The Ring programming language version 1.2 book - Part 18 of 84
The Ring programming language version 1.2 book - Part 18 of 84
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
 
MySQL Functions
MySQL FunctionsMySQL Functions
MySQL Functions
 
Advanced Arel: When ActiveRecord Just Isn't Enough
Advanced Arel: When ActiveRecord Just Isn't EnoughAdvanced Arel: When ActiveRecord Just Isn't Enough
Advanced Arel: When ActiveRecord Just Isn't Enough
 
COMANDOS DE JAVA
COMANDOS DE JAVACOMANDOS DE JAVA
COMANDOS DE JAVA
 

Similar to MySQL JSON Functions

Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)Valeriy Kravchuk
 
Performance schema and_ps_helper
Performance schema and_ps_helperPerformance schema and_ps_helper
Performance schema and_ps_helperMark Leith
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Dave Stokes
 
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAsBasic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAsSveta Smirnova
 
MySQL docker with demo by Ramana Yeruva
MySQL docker with demo by Ramana YeruvaMySQL docker with demo by Ramana Yeruva
MySQL docker with demo by Ramana YeruvaMysql User Camp
 
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorialKlausePaulino
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.Sveta Smirnova
 
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersMySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersFrederic Descamps
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revelation Technologies
 
Manual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQLManual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQLErick Vidbaz
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaMark Leith
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...Geir Høydalsvik
 
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best PracticesOracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best PracticesSven Sandberg
 
Exachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVExachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVBobby Curtis
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Mark Leith
 
Oracle ORAchk & EXAchk overview
Oracle ORAchk & EXAchk overviewOracle ORAchk & EXAchk overview
Oracle ORAchk & EXAchk overviewGareth Chapman
 
Fosdem17 honeypot your database server
Fosdem17 honeypot your database serverFosdem17 honeypot your database server
Fosdem17 honeypot your database serverGeorgi Kodinov
 

Similar to MySQL JSON Functions (20)

Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
 
Performance schema and_ps_helper
Performance schema and_ps_helperPerformance schema and_ps_helper
Performance schema and_ps_helper
 
Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019Python And The MySQL X DevAPI - PyCaribbean 2019
Python And The MySQL X DevAPI - PyCaribbean 2019
 
Basic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAsBasic MySQL Troubleshooting for Oracle DBAs
Basic MySQL Troubleshooting for Oracle DBAs
 
Con4445 jesus
Con4445 jesusCon4445 jesus
Con4445 jesus
 
MySQL docker with demo by Ramana Yeruva
MySQL docker with demo by Ramana YeruvaMySQL docker with demo by Ramana Yeruva
MySQL docker with demo by Ramana Yeruva
 
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial
 
NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.NoSQL атакует: JSON функции в MySQL сервере.
NoSQL атакует: JSON функции в MySQL сервере.
 
MySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersMySQL Tech Café #8: MySQL 8.0 for Python Developers
MySQL Tech Café #8: MySQL 8.0 for Python Developers
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?
 
Manual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQLManual Tecnico OGG Oracle to MySQL
Manual Tecnico OGG Oracle to MySQL
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
 
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best PracticesOracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
 
Exachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVExachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LV
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
 
Oracle ORAchk & EXAchk overview
Oracle ORAchk & EXAchk overviewOracle ORAchk & EXAchk overview
Oracle ORAchk & EXAchk overview
 
Fosdem17 honeypot your database server
Fosdem17 honeypot your database serverFosdem17 honeypot your database server
Fosdem17 honeypot your database server
 

More from Sveta Smirnova

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?Sveta Smirnova
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringSveta Smirnova
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveSveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговSveta Smirnova
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessSveta Smirnova
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sSveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOpsSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterSveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsSveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaSveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraSveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?Sveta Smirnova
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sSveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...Sveta Smirnova
 

More from Sveta Smirnova (20)

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

MySQL JSON Functions