	(680, 'DROP TRIGGER', 39, 'Syntax\n------ \nDROP TRIGGER [IF EXISTS] [schema_name.]trigger_name\n \nDescription\n----------- \nThis statement drops a trigger. The schema (database) name\nis optional. If the\nschema is omitted, the trigger is dropped from the default\nschema.\nIts use requires the TRIGGER privilege for the table\nassociated with the trigger.\n \nUse IF EXISTS to prevent an error from occurring for a\ntrigger that does not exist. A NOTE is generated for a\nnon-existent trigger\nwhen using IF EXISTS. See SHOW WARNINGS.\n \nNote: Triggers for a table are also dropped if you drop the\ntable.\n \nExamples\n-------- \nDROP TRIGGER test.example_trigger;\n \nUsing the IF EXISTS clause:\n \nDROP TRIGGER IF EXISTS test.example_trigger;\n \nQuery OK, 0 rows affected, 1 warning (0.01 sec)\n \nSHOW WARNINGS;\n \n+-------+------+------------------------+\n| Level | Code | Message |\n+-------+------+------------------------+\n| Note | 1360 | Trigger does not exist |\n+-------+------+------------------------+\n \n\n\nURL: https://mariadb.com/kb/en/drop-trigger/', '', 'https://mariadb.com/kb/en/drop-trigger/'),
	(678, 'DROP TABLE', 39, 'Syntax\n------ \nDROP [TEMPORARY] TABLE [IF EXISTS] [/*COMMENT TO SAVE*/]\n tbl_name [, tbl_name] ...\n [WAIT n|NOWAIT]\n [RESTRICT | CASCADE]\n \nDescription\n----------- \nDROP TABLE removes one or more tables. You must have the\nDROP privilege\nfor each table. All table data and the table definition are\nremoved, as well as triggers associated to the table, so be\ncareful with this statement! If any of the tables named in\nthe argument list do\nnot exist, MariaDB returns an error indicating by name which\nnon-existing tables\nit was unable to drop, but it also drops all of the tables\nin the list that do\nexist.\n \nImportant: When a table is dropped, user privileges on the\ntable are not\nautomatically dropped. See GRANT.\n \nIf another connection is using the table, a metadata lock is\nactive, and this statement will wait until the lock is\nreleased. This is also true for non-transactional tables.\n \nNote that for a partitioned table, DROP TABLE permanently\nremoves the table\ndefinition, all of its partitions, and all of the data which\nwas stored in\nthose partitions. It also removes the partitioning\ndefinition (.par) file\nassociated with the dropped table.\n \nFor each referenced table, DROP TABLE drops a temporary\ntable with that name, if it exists. If it does not exist,\nand the TEMPORARY keyword is not used, it drops a\nnon-temporary table with the same name, if it exists. The\nTEMPORARY keyword ensures that a non-temporary table will\nnot accidentally be dropped.\n \nUse IF EXISTS to prevent an error from occurring for tables\nthat do not\nexist. A NOTE is generated for each non-existent table when\nusing\nIF EXISTS. See SHOW WARNINGS.\n \nIf a foreign key references this table, the table cannot be\ndropped. In this case, it is necessary to drop the foreign\nkey first.\n \nRESTRICT and CASCADE are allowed to make porting from other\ndatabase systems easier. In MariaDB, they do nothing.\n \nSince MariaDB 5.5.27, the comment before the tablenames\n(that /*COMMENT TO SAVE*/) is stored in the binary log. That\nfeature can be used by replication tools to send their\ninternal messages.\n \nIt is possible to specify table names as db_name.tab_name.\nThis is useful to delete tables from multiple databases with\none statement. See Identifier Qualifiers for details.\n \nThe DROP privilege is required to use DROP TABLE on\nnon-temporary tables. For temporary tables, no privilege is\nrequired, because such tables are only visible for the\ncurrent session.\n \nNote: DROP TABLE automatically commits the current active\ntransaction,\nunless you use the TEMPORARY keyword.\n \nWAIT/NOWAIT\n \nSet the lock wait timeout. See WAIT and NOWAIT.\n \nDROP TABLE in replication\n \nDROP TABLE has the following characteristics in replication:\nDROP TABLE IF EXISTS are always logged.\nDROP TABLE without IF EXISTS for tables that don\'t exist\nare not written to the binary log.\nDropping of TEMPORARY tables are prefixed in the log with\nTEMPORARY. These drops are only logged when running\nstatement or mixed mode replication.\nOne DROP TABLE statement can be logged with up to 3\ndifferent DROP statements:\nDROP TEMPORARY TABLE\nlist_of_non_transactional_temporary_tables\nDROP TEMPORARY TABLE list_of_transactional_temporary_tables\nDROP TABLE list_of_normal_tables\n \nStarting from MariaDB 10.0.8, DROP TABLE on the master is\ntreated on the slave as DROP TABLE IF EXISTS. You can change\nthat by setting slave-ddl-exec-mode to STRICT.\n \nDropping an Internal #sql-... Table\n \nIf the mysqld process is killed during an ALTER TABLE you\nmay find a table named #sql-... in your data directory. In\nMariaDB 10.3, InnoDB tables with this prefix will de deleted\nautomatically during startup.\nIn MariaDB 10.4 we will ensure that these temporary tables\nwill always be deleted automatically.\n \nIf you want to delete one of these tables explicitly you can\ndo so by using the following syntax:\n \nDROP TABLE `#mysql50##sql-...`;\n \nWhen running an ALTER TABLE…ALGORITHM=INPLACE that\nrebuilds the table, InnoDB will create an internal #sql-ib\ntable. For these tables, the .frm file will be called\nsomething else. In order to drop such a table after a server\ncrash, you must rename the #sql*.frm file to match the\n#sql-ib*.ibd file.\n \nDropping All Tables in a Database\n \nThe best way to drop all tables in a database is by\nexecuting DROP DATABASE, which will drop the database\nitself, and all tables in it.\n \nHowever, if you want to drop all tables in the database, but\nyou also want to keep the database itself and any other\nnon-table objects in it, then you would need to execute DROP\nTABLE to drop each individual table. You can construct these\nDROP TABLE commands by querying the TABLES table in the\ninformation_schema database. For example:\n \nSELECT CONCAT(\'DROP TABLE IF EXISTS `\', TABLE_SCHEMA,\n\'`.`\', TABLE_NAME, \'`;\')\nFROM information_schema.TABLES\nWHERE TABLE_SCHEMA = \'mydb\';\n \nExamples\n-------- \nDROP TABLE Employees, Customers;\n \nNotes\n \nBeware that DROP TABLE can drop both tables and sequences.\nThis is mainly done to allow old tools like mysqldump to\nwork with sequences.\n \n\n\nURL: https://mariadb.com/kb/en/drop-table/', '', 'https://mariadb.com/kb/en/drop-table/'),
	(681, 'DROP VIEW', 39, 'Syntax\n------ \nDROP VIEW [IF EXISTS]\n view_name [, view_name] ...\n [RESTRICT | CASCADE]\n \nDescription\n----------- \nDROP VIEW removes one or more views. You must have the DROP\nprivilege for\neach view. If any of the views named in the argument list do\nnot exist, MariaDB\nreturns an error indicating by name which non-existing views\nit was unable to\ndrop, but it also drops all of the views in the list that do\nexist.\n \nThe IF EXISTS clause prevents an error from occurring for\nviews that don\'t\nexist. When this clause is given, a NOTE is generated for\neach non-existent\nview. See SHOW WARNINGS.\n \nRESTRICT and CASCADE, if given, are parsed and ignored.\n \nIt is possible to specify view names as db_name.view_name.\nThis is useful to delete views from multiple databases with\none statement. See Identifier Qualifiers for details.\n \nThe DROP privilege is required to use DROP TABLE on\nnon-temporary tables. For temporary tables, no privilege is\nrequired, because such tables are only visible for the\ncurrent session.\n \nIf a view references another view, it will be possible to\ndrop the referenced view. However, the other view will\nreference a view which does not exist any more. Thus,\nquerying it will produce an error similar to the following:\n \nERROR 1356 (HY000): View \'db_name.view_name\' references\ninvalid table(s) or \ncolumn(s) or function(s) or definer/invoker of view lack\nrights to use them\n \nThis problem is reported in the output of CHECK TABLE.\n \nNote that it is not necessary to use DROP VIEW to replace an\nexisting view, because CREATE VIEW has an OR REPLACE clause.\n \nExamples\n-------- \nDROP VIEW v,v2;\n \nGiven views v and v2, but no view v3\n \nDROP VIEW v,v2,v3;\nERROR 1051 (42S02): Unknown table \'v3\'\n \nDROP VIEW IF EXISTS v,v2,v3;\nQuery OK, 0 rows affected, 1 warning (0.01 sec)\n \nSHOW WARNINGS;\n+-------+------+-------------------------+\n| Level | Code | Message |\n+-------+------+-------------------------+\n| Note | 1051 | Unknown table \'test.v3\' |\n+-------+------+-------------------------+\n \n\n\nURL: https://mariadb.com/kb/en/drop-view/', '', 'https://mariadb.com/kb/en/drop-view/'),
	(682, 'Invisible Columns', 39, 'Invisible columns (sometimes also called hidden columns)\nfirst appeared in MariaDB 10.3.3.\n \nColumns can be given an INVISIBLE attribute in a CREATE\nTABLE or ALTER TABLE statement. These columns will then not\nbe listed in the results of a SELECT * statement, nor do\nthey need to be assigned a value in an INSERT statement,\nunless INSERT explicitly mentions them by name.\n \nSince SELECT * does not return the invisible columns, new\ntables or views created in this manner will have no trace of\nthe invisible columns. If specifically referenced in the\nSELECT statement, the columns will be brought into the\nview/new table, but the INVISIBLE attribute will not.\n \nInvisible columns can be declared as NOT NULL, but then\nrequire a DEFAULT value.\n \nIt is not possible for all columns in a table to be\ninvisible.\n \nExamples\n-------- \nCREATE TABLE t (x INT, y INT INVISIBLE, z INT INVISIBLE NOT\nNULL);\nERROR 4106 (HY000): Invisible column `z` must have a default\nvalue\n \nCREATE TABLE t (x INT, y INT INVISIBLE, z INT INVISIBLE NOT\nNULL DEFAULT 4);\n \nINSERT INTO t VALUES (1),(2);\n \nINSERT INTO t (x,y) VALUES (3,33);\n \nSELECT * FROM t;\n \n+------+\n| x |\n+------+\n| 1 |\n| 2 |\n| 3 |\n+------+\n \nSELECT x,y,z FROM t;\n \n+------+------+---+\n| x | y | z |\n+------+------+---+\n| 1 | NULL | 4 |\n| 2 | NULL | 4 |\n| 3 | 33 | 4 |\n+------+------+---+\n \nDESC t;\n \n+-------+---------+------+-----+---------+-----------+\n| Field | Type | Null | Key | Default | Extra |\n+-------+---------+------+-----+---------+-----------+\n| x | int(11) | YES | | NULL | |\n| y | int(11) | YES | | NULL | INVISIBLE |\n| z | int(11) | NO | | 4 | INVISIBLE |\n+-------+---------+------+-----+---------+-----------+\n \nALTER TABLE t MODIFY x INT INVISIBLE, MODIFY y INT, MODIFY z\nINT NOT NULL DEFAULT 4;\n \nDESC t;\n \n+-------+---------+------+-----+---------+-----------+\n| Field | Type | Null | Key | Default | Extra |\n+-------+---------+------+-----+---------+-----------+\n| x | int(11) | YES | | NULL | INVISIBLE |\n| y | int(11) | YES | | NULL | |\n| z | int(11) | NO | | 4 | |\n+-------+---------+------+-----+---------+-----------+\n \nCreating a view from a table with hidden columns:\n \nCREATE VIEW v1 AS SELECT * FROM t;\n \nDESC v1;\n \n+-------+---------+------+-----+---------+-------+\n| Field | Type | Null | Key | Default | Extra |\n+-------+---------+------+-----+---------+-------+\n| x | int(11) | YES | | NULL | |\n+-------+---------+------+-----+---------+-------+\n \nCREATE VIEW v2 AS SELECT x,y,z FROM t;\n \nDESC v2;\n \n+-------+---------+------+-----+---------+-------+\n| Field | Type | Null | Key | Default | Extra |\n+-------+---------+------+-----+---------+-------+\n| x | int(11) | YES | | NULL | |\n| y | int(11) | YES | | NULL | |\n| z | int(11) | NO | | 4 | |\n+-------+---------+------+-----+---------+-------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/invisible-columns/', '', 'https://mariadb.com/kb/en/invisible-columns/'),
	(683, 'MERGE', 39, 'Description\n----------- \nThe MERGE storage engine, also known as the MRG_MyISAM\nengine, is a\ncollection of identical MyISAM tables that can be used as\none.\n"Identical" means that all tables have identical column\nand index\ninformation. You cannot merge MyISAM tables in which the\ncolumns are\nlisted in a different order, do not have exactly the same\ncolumns, or\nhave the indexes in different order. However, any or all of\nthe MyISAM\ntables can be compressed with myisampack. Columns names and\nindexes names can be different, as long as data types and\nNULL/NOT NULL clauses are the same. Differences in\ntable options such as AVG_ROW_LENGTH, MAX_ROWS, or PACK_KEYS\ndo not\nmatter.\n \nEach index in a MERGE table must match an index in\nunderlying MyISAM tables, but the opposite is not true.\nAlso, a MERGE table cannot have a PRIMARY KEY or UNIQUE\nindexes, because it cannot enforce uniqueness over all\nunderlying tables.\n \nThe following options are meaningful for MERGE tables:\nUNION. This option specifies the list of the underlying\nMyISAM tables. The list is enclosed between parentheses and\nseparated with commas.\nINSERT_METHOD. This options specifies whether, and how,\nINSERTs are allowed for the table. Allowed values are: NO\n(INSERTs are not allowed), FIRST (new rows will be written\ninto the first table specified in the UNION list), LAST (new\nrows will be written into the last table specified in the\nUNION list). The default value is NO.\n \nIf you define a MERGE table with a definition which is\ndifferent from the underlying MyISAM tables, or one of the\nunderlying tables is not MyISAM, the CREATE TABLE statement\nwill not return any error. But any statement which involves\nthe table will produce an error like the following:\n \nERROR 1168 (HY000): Unable to open underlying table which is\ndifferently defined \n or of non-MyISAM type or doesn\'t exist\n \nA CHECK TABLE will show more information about the problem.\n \nThe error is also produced if the table is properly define,\nbut an underlying table\'s definition changes at some point\nin time.\n \nIf you try to insert a new row into a MERGE table with\nINSERT_METHOD=NO, you will get an error like the following:\n \nERROR 1036 (HY000): Table \'tbl_name\' is read only\n \nIt is possible to build a MERGE table on MyISAM tables which\nhave one or more virtual columns. MERGE itself does not\nsupport virtual columns, thus such columns will be seen as\nregular columns. The data types and sizes will still need to\nbe identical, and they cannot be NOT NULL.\n \nExamples\n-------- \nCREATE TABLE t1 (\n a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n message CHAR(20)) ENGINE=MyISAM;\n \nCREATE TABLE t2 (\n a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,\n message CHAR(20)) ENGINE=MyISAM;\n \nINSERT INTO t1 (message) VALUES\n(\'Testing\'),(\'table\'),(\'t1\');\n \nINSERT INTO t2 (message) VALUES\n(\'Testing\'),(\'table\'),(\'t2\');\n \nCREATE TABLE total (\n a INT NOT NULL AUTO_INCREMENT,\n message CHAR(20), INDEX(a))\n ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;\n \nSELECT * FROM total;\n \n+---+---------+\n| a | message |\n+---+---------+\n| 1 | Testing |\n| 2 | table |\n| 3 | t1 |\n| 1 | Testing |\n| 2 | table |\n| 3 | t2 |\n+---+---------+\n \nIn the following example, we\'ll create three MyISAM tables,\nand then a MERGE table on them. However, one of them uses a\ndifferent data type for the column b, so a SELECT will\nproduce an error:\n \nCREATE TABLE t1 (\n a INT,\n b INT\n) ENGINE = MyISAM;\n \nCREATE TABLE t2 (\n a INT,\n b INT\n) ENGINE = MyISAM;\n \nCREATE TABLE t3 (\n a INT,\n b TINYINT\n) ENGINE = MyISAM;\n \nCREATE TABLE t_mrg (\n a INT,\n b INT\n) ENGINE = MERGE,UNION=(t1,t2,t3);\n \nSELECT * FROM t_mrg;\n \nERROR 1168 (HY000): Unable to open underlying table which is\ndifferently defined\n or of non-MyISAM type or doesn\'t exist\n \nTo find out what\'s wrong, we\'ll use a CHECK TABLE:\n \nCHECK TABLE t_mrg;\n \n+------------+-------+----------+-----------------------------------------------------------------------------------------------------+\n| Table | Op | Msg_type | Msg_text |\n+------------+-------+----------+-----------------------------------------------------------------------------------------------------+\n| test.t_mrg | check | Error | Table \'test.t3\' is\ndifferently defined or of non-MyISAM type or doesn\'t exist\n|\n| test.t_mrg | check | Error | Unable to open underlying\ntable which is differently defined or of non-MyISAM type or\ndoesn\'t exist |\n| test.t_mrg | check | error | Corrupt |\n+------------+-------+----------+-----------------------------------------------------------------------------------------------------+\n \nNow, we know that the problem is in t3\'s definition.\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/merge/', '', 'https://mariadb.com/kb/en/merge/'),
	(684, 'RENAME TABLE', 39, 'Syntax\n------ \nRENAME TABLE tbl_name \n [WAIT n | NOWAIT]\n TO new_tbl_name\n [, tbl_name2 TO new_tbl_name2] ...\n \nDescription\n----------- \nThis statement renames one or more tables or views, but not\nthe privileges associated to them.\n \nThe rename operation is done atomically, which means that no\nother session can\naccess any of the tables while the rename is running. For\nexample, if you have\nan existing table old_table, you can create another table\nnew_table that has the same structure but is empty, and then\nreplace the existing table with the empty one as follows\n(assuming that\nbackup_table does not already exist):\n \nCREATE TABLE new_table (...);\nRENAME TABLE old_table TO backup_table, new_table TO\nold_table;\n \ntbl_name can optionally be specified as db_name.tbl_name.\nSee Identifier Qualifiers. This allows to use RENAME to move\na table from a database to another (as long as they are on\nthe same filesystem):\n \nRENAME TABLE db1.t TO db2.t;\n \nNote that moving a table to another database is not possible\nif it has some triggers. Trying to do so produces the\nfollowing error:\n \nERROR 1435 (HY000): Trigger in wrong schema\n \nAlso, views cannot be moved to another database:\n \nERROR 1450 (HY000): Changing schema from \'old_db\' to\n\'new_db\' is not allowed.\n \nIf a RENAME TABLE renames more than one table and one\nrenaming fails, all renames executed by the same statement\nare rolled back.\n \nRenames are always executed in the specified order. Knowing\nthis, it is also possible to swap two tables\' names:\n \nRENAME TABLE t1 TO tmp_table,\n t2 TO t1,\n tmp_table TO t2;\n \nPrivileges\n \nExecuting the RENAME TABLE statement requires the DROP,\nCREATE and INSERT privileges for the table or the database.\n \nWAIT/NOWAIT\n \nSet the lock wait timeout. See WAIT and NOWAIT.\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/rename-table/', '', 'https://mariadb.com/kb/en/rename-table/'),
	(685, 'Silent Column Changes', 39, 'When a CREATE TABLE or ALTER TABLE command is issued,\nMariaDB will silently change a column specification in the\nfollowing cases:\nPRIMARY KEY columns are always NOT NULL.\nAny trailing spaces from SET and ENUM values are discarded.\nTIMESTAMP columns are always NOT NULL, and display sizes are\ndiscarded\nA row-size limit of 65535 bytes applies\nIf strict SQL mode is not enabled, a VARCHAR column longer\nthan 65535 become TEXT, and a VARBINARY columns longer than\n65535 becomes a BLOB. If strict mode is enabled the silent\nchanges will not be made, and an error will occur.\nIf a USING clause specifies an index that\'s not permitted\nby the storage engine, the engine will instead use another\navailable index type that can be applied without affecting\nresults.\nIf the CHARACTER SET binary attribute is specified, the\ncolumn is created as the matching binary data type. A TEXT\nbecomes a BLOB, CHAR a BINARY and VARCHAR a VARBINARY. ENUMs\nand SETs are created as defined.\n \nTo ease imports from other RDBMS\'s, MariaDB will also\nsilently map the following data types:\n \nOther Vendor Type | MariaDB Type | \n \nBOOL | TINYINT | \n \nBOOLEAN | TINYINT | \n \nCHARACTER VARYING(M) | VARCHAR(M) | \n \nFIXED | DECIMAL | \n \nFLOAT4 | FLOAT | \n \nFLOAT8 | DOUBLE | \n \nINT1 | TINYINT | \n \nINT2 | SMALLINT | \n \nINT3 | MEDIUMINT | \n \nINT4 | INT | \n \nINT8 | BIGINT | \n \nLONG VARBINARY | MEDIUMBLOB | \n \nLONG VARCHAR | MEDIUMTEXT | \n \nLONG | MEDIUMTEXT | \n \nMIDDLEINT | MEDIUMINT | \n \nNUMERIC | DECIMAL | \n \nCurrently, all MySQL types are supported in MariaDB.\n \nFor type mapping between Cassandra and MariaDB, see\nCassandra storage engine.\n \nExample\n \nSilent changes in action:\n \nCREATE TABLE SilenceIsGolden\n (\n f1 TEXT CHARACTER SET binary,\n f2 VARCHAR(15) CHARACTER SET binary,\n f3 CHAR CHARACTER SET binary,\n f4 ENUM(\'x\',\'y\',\'z\') CHARACTER SET binary,\n f5 VARCHAR (65536),\n f6 VARBINARY (65536),\n f7 INT1\n );\nQuery OK, 0 rows affected, 2 warnings (0.31 sec)\n \nSHOW WARNINGS;\n \n+-------+------+-----------------------------------------------+\n| Level | Code | Message |\n+-------+------+-----------------------------------------------+\n| Note | 1246 | Converting column \'f5\' from VARCHAR to\nTEXT |\n| Note | 1246 | Converting column \'f6\' from VARBINARY to\nBLOB |\n+-------+------+-----------------------------------------------+\n \nDESCRIBE SilenceIsGolden;\n \n+-------+-------------------+------+-----+---------+-------+\n| Field | Type | Null | Key | Default | Extra |\n+-------+-------------------+------+-----+---------+-------+\n| f1 | blob | YES | | NULL | |\n| f2 | varbinary(15) | YES | | NULL | |\n| f3 | binary(1) | YES | | NULL | |\n| f4 | enum(\'x\',\'y\',\'z\') | YES | | NULL | |\n| f5 | mediumtext | YES | | NULL | |\n| f6 | mediumblob | YES | | NULL | |\n| f7 | tinyint(4) | YES | | NULL | |\n+-------+-------------------+------+-----+---------+-------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/silent-column-changes/', '', 'https://mariadb.com/kb/en/silent-column-changes/'),
	(689, 'NEXT VALUE for sequence_name', 40, 'SEQUENCEs were introduced in MariaDB 10.3\n \nSyntax\n------ \nNEXT VALUE FOR sequence\n \nor\n \nNEXTVAL(sequence_name)\n \nor in Oracle mode (SQL_MODE=ORACLE)\n \nsequence_name.nextval\n \nNEXT VALUE FOR is ANSI SQL syntax while NEXTVAL() is\nPostgreSQL syntax.\n \nDescription\n----------- \nGenerate next value for a SEQUENCE.\nYou can greatly speed up NEXT VALUE by creating the sequence\nwith the CACHE option. If not, every NEXT VALUE usage will\ncause changes in the stored SEQUENCE table.\nWhen using NEXT VALUE the value will be reserved at once and\nwill not be reused, except if the SEQUENCE was created with\nCYCLE. This means that when you are using SEQUENCEs you have\nto expect gaps in the generated sequence numbers.\nIf one updates the SEQUENCE with SETVAL() or ALTER SEQUENCE\n... RESTART, NEXT VALUE FOR will notice this and start from\nthe next requested value.\nFLUSH TABLES will close the sequence and the next sequence\nnumber generated will be according to what\'s stored in the\nSEQUENCE object. In effect, this will discard the cached\nvalues.\nNEXT VALUE requires the INSERT privilege.\n \nYou can also use NEXT VALUE FOR sequence for column DEFAULT.\n \n\n\nURL: https://mariadb.com/kb/en/next-value-for-sequence_name/', '', 'https://mariadb.com/kb/en/next-value-for-sequence_name/'),
	(691, 'PREVIOUS VALUE FOR sequence_name', 40, 'SEQUENCEs were introduced in MariaDB 10.3.\n \nSyntax\n------ \nPREVIOUS VALUE FOR sequence_name\n \nor\n \nLASTVAL(sequence_name)\n \nor in Oracle mode (SQL_MODE=ORACLE)\n \nsequence_name.currval\n \nPREVIOUS VALUE FOR is IBM DB2 syntax while LASTVAL() is\nPostgreSQL syntax.\n \nDescription\n----------- \nGet last value in the current connection generated from a\nsequence.\nIf the sequence has not yet been used by the connection,\nPREVIOUS VALUE FOR returns NULL\nIf a SEQUENCE has been dropped and re-created then it\'s\ntreated as a new SEQUENCE and PREVIOUS VALUE FOR will return\nNULL.\nFLUSH TABLES has no effect on PREVIOUS VALUE FOR.\nPrevious values for all used sequences are stored per\nconnection until connection ends.\n \nPREVIOUS VALUE FOR requires the SELECT privilege.\n \nExample\n \nSELECT PREVIOUS VALUE FOR s;\n \n+----------------------+\n| PREVIOUS VALUE FOR s |\n+----------------------+\n| 100 |\n+----------------------+\n \n\n\nURL:\nhttps://mariadb.com/kb/en/previous-value-for-sequence_name/', '', 'https://mariadb.com/kb/en/previous-value-for-sequence_name/'),
	(686, 'TRUNCATE TABLE', 39, 'Syntax\n------ \nTRUNCATE [TABLE] tbl_name\n [WAIT n | NOWAIT]\n \nDescription\n----------- \nTRUNCATE TABLE empties a table completely. It requires the\nDROP privilege. See GRANT.\n \ntbl_name can also be specified in the form db_name.tbl_name\n(see Identifier Qualifiers).\n \nLogically, TRUNCATE TABLE is equivalent to a DELETE\nstatement that deletes all rows, but there are practical\ndifferences under some circumstances.\n \nTRUNCATE TABLE will fail for an InnoDB table if any FOREIGN\nKEY constraints from other tables reference the table,\nreturning the error:\n \nERROR 1701 (42000): Cannot truncate a table referenced in a\nforeign key constraint\n \nForeign Key constraints between columns in the same table\nare permitted.\n \nFor an InnoDB table, if there are no FOREIGN KEY\nconstraints, InnoDB performs fast truncation by dropping the\noriginal table and creating an empty one with the same\ndefinition, which is much faster than deleting rows one by\none. The AUTO_INCREMENT counter is reset by TRUNCATE TABLE,\nregardless of whether there is a FOREIGN KEY constraint.\n \nThe count of rows affected by TRUNCATE TABLE is accurate\nonly\nwhen it is mapped to a DELETE statement.\n \nFor other storage engines, TRUNCATE TABLE differs from\nDELETE in the following ways:\nTruncate operations drop and re-create the table, which is\nmuch\n faster than deleting rows one by one, particularly for\nlarge tables.\nTruncate operations cause an implicit commit.\nTruncation operations cannot be performed if the session\nholds an\n active table lock.\nTruncation operations do not return a meaningful value for\nthe number\n of deleted rows. The usual result is "0 rows affected,"\nwhich should\n be interpreted as "no information."\nAs long as the table format file tbl_name.frm is valid, the\n table can be re-created as an empty table\n with TRUNCATE TABLE, even if the data or index files have\nbecome\n corrupted.\nThe table handler does not remember the last\n used AUTO_INCREMENT value, but starts counting\n from the beginning. This is true even for MyISAM and\nInnoDB, which normally\n do not reuse sequence values.\nWhen used with partitioned tables, TRUNCATE TABLE preserves\n the partitioning; that is, the data and index files are\ndropped and\n re-created, while the partition definitions (.par) file is\n unaffected.\nSince truncation of a table does not make any use of DELETE,\n the TRUNCATE statement does not invoke ON DELETE triggers.\nTRUNCATE TABLE will only reset the values in the Performance\nSchema summary tables to zero or null, and will not remove\nthe rows.\n \nFor the purposes of binary logging and replication, TRUNCATE\nTABLE is treated as DROP TABLE followed by CREATE TABLE (DDL\nrather than DML).\n \nTRUNCATE TABLE does not work on views. Currently, TRUNCATE\nTABLE drops all historical records from a system-versioned\ntable.\n \nWAIT/NOWAIT\n \nSet the lock wait timeout. See WAIT and NOWAIT.\n \nOracle-mode\n \nOracle-mode from MariaDB 10.3 permits the optional keywords\nREUSE STORAGE or DROP STORAGE to be used.\n \nTRUNCATE [TABLE] tbl_name [{DROP | REUSE} STORAGE]\n \nThese have no effect on the operation.\n \nPerformance\n \nTRUNCATE TABLE is faster than DELETE, because it drops and\nre-creates a table.\n \nWith XtraDB/InnoDB, TRUNCATE TABLE is slower if\ninnodb_file_per_table=ON is set (the default since MariaDB\n5.5). This is because TRUNCATE TABLE unlinks the underlying\ntablespace file, which can be an expensive operation. See\nMDEV-8069 for more details.\n \nThe performance issues with innodb_file_per_table=ON can be\nexacerbated in cases where the InnoDB buffer pool is very\nlarge and innodb_adaptive_hash_index=ON is set. In that\ncase, using DROP TABLE followed by CREATE TABLE instead of\nTRUNCATE TABLE may perform better. Setting\ninnodb_adaptive_hash_index=OFF can also help. In MariaDB\n10.2.19 and later, this performance can also be improved by\nsetting innodb_safe_truncate=OFF. See MDEV-9459 for more\ndetails.\n \nSetting innodb_adaptive_hash_index=OFF can also improve\nTRUNCATE TABLE performance in general. See MDEV-16796 for\nmore details.\n \n\n\nURL: https://mariadb.com/kb/en/truncate-table/', '', 'https://mariadb.com/kb/en/truncate-table/'),
	(694, 'Differences between JSON_QUERY and JSON_VALUE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nThe primary difference between the two functions is that\nJSON_QUERY returns an object or an array, while JSON_VALUE\nreturns a scalar. \n \nTake the following JSON document as an example\n \nSET @json=\'{ "x": [0,1], "y": "[0,1]", "z":\n"Monty" }\';\n \nNote that data member "x" is an array, and data members\n"y" and "z" are strings. The following examples\ndemonstrate the differences between the two functions.\n \nSELECT JSON_QUERY(@json,\'$\'), JSON_VALUE(@json,\'$\');\n+--------------------------------------------+-----------------------+\n| JSON_QUERY(@json,\'$\') | JSON_VALUE(@json,\'$\') |\n+--------------------------------------------+-----------------------+\n| { "x": [0,1], "y": "[0,1]", "z": "Monty" } |\nNULL |\n+--------------------------------------------+-----------------------+\n \nSELECT JSON_QUERY(@json,\'$.x\'), JSON_VALUE(@json,\'$.x\');\n+-------------------------+-------------------------+\n| JSON_QUERY(@json,\'$.x\') | JSON_VALUE(@json,\'$.x\') |\n+-------------------------+-------------------------+\n| [0,1] | NULL |\n+-------------------------+-------------------------+\n \nSELECT JSON_QUERY(@json,\'$.y\'), JSON_VALUE(@json,\'$.y\');\n+-------------------------+-------------------------+\n| JSON_QUERY(@json,\'$.y\') | JSON_VALUE(@json,\'$.y\') |\n+-------------------------+-------------------------+\n| NULL | [0,1] |\n+-------------------------+-------------------------+\n \nSELECT JSON_QUERY(@json,\'$.z\'), JSON_VALUE(@json,\'$.z\');\n+-------------------------+-------------------------+\n| JSON_QUERY(@json,\'$.z\') | JSON_VALUE(@json,\'$.z\') |\n+-------------------------+-------------------------+\n| NULL | Monty |\n+-------------------------+-------------------------+\n \nSELECT JSON_QUERY(@json,\'$.x[0]\'),\nJSON_VALUE(@json,\'$.x[0]\');\n+----------------------------+----------------------------+\n| JSON_QUERY(@json,\'$.x[0]\') |\nJSON_VALUE(@json,\'$.x[0]\') |\n+----------------------------+----------------------------+\n| NULL | 0 |\n+----------------------------+----------------------------+\n \n\n \n \n \n \n \n \n \n\nURL:\nhttps://mariadb.com/kb/en/differences-between-json_query-and-json_value/', '', 'https://mariadb.com/kb/en/differences-between-json_query-and-json_value/'),
	(692, 'Sequence Overview', 40, 'Sequences were introduced in MariaDB 10.3.\n \nIntroduction\n \nA sequence is an object that generates a sequence of numeric\nvalues, as specified by the CREATE SEQUENCE statement. \n \nCREATE SEQUENCE will create a sequence that generates new\nvalues when called with NEXT VALUE FOR sequence_name. It\'s\nan alternative to AUTO INCREMENT when one wants to have more\ncontrol of how the numbers are generated. As the SEQUENCE\ncaches values (up to the CACHE value in the CREATE SEQUENCE\nstatement, by default 1000) it can in some cases be much\nfaster than AUTO INCREMENT. Another benefit is that one can\naccess the last value generated by all used sequences, which\nsolves one of the limitations with LAST_INSERT_ID().\n \nCreating a Sequence\n \nThe CREATE SEQUENCE statement is used to create a sequence.\nHere is an example of a sequence starting at 100,\nincrementing by 10 each time:\n \nCREATE SEQUENCE s START WITH 100 INCREMENT BY 10;\n \nThe CREATE SEQUENCE statement, along with defaults, can be\nviewd with the SHOW CREATE SEQUENCE STATEMENT, for example:\n \nSHOW CREATE SEQUENCE s\\G\n*************************** 1. row\n***************************\n Table: s\nCreate Table: CREATE SEQUENCE `s` start with 100 minvalue 1\nmaxvalue 9223372036854775806 \n increment by 10 cache 1000 nocycle ENGINE=InnoDB\n \nUsing Sequence Objects\n \nTo get the next value from a sequence, use\n \nNEXT VALUE FOR sequence_name\n \nor\n \nNEXTVAL(sequence_name)\n \nor in Oracle mode (SQL_MODE=ORACLE)\n \nsequence_name.nextval\n \nFor retrieving the last value used by the current connection\nfrom a sequence\nuse:\n \nPREVIOUS VALUE FOR sequence_name\n \nor\n \nLASTVAL(sequence_name)\n \nor in Oracle mode (SQL_MODE=ORACLE)\n \nsequence_name.currval\n \nFor example:\n \nSELECT NEXTVAL(s);\n+------------+\n| NEXTVAL(s) |\n+------------+\n| 100 |\n+------------+\n \nSELECT NEXTVAL(s);\n+------------+\n| NEXTVAL(s) |\n+------------+\n| 110 |\n+------------+\n \nSELECT LASTVAL(s);\n+------------+\n| LASTVAL(s) |\n+------------+\n| 110 |\n+------------+\n \nUsing Sequences in DEFAULT\n \nStarting from 10.3.3 you can use Sequences in DEFAULT:\n \ncreate sequence s1;\n \ncreate table t1 (a int primary key default (next value for\ns1), b int);\ninsert into t1 (b) values (1),(2);\nselect * from t1;\n \n+---+------+\n| a | b |\n+---+------+\n| 1 | 1 |\n| 2 | 2 |\n+---+------+\n \nChanging a Sequence\n \nThe ALTER SEQUENCE statement is used for changing sequences.\nFor example, to restart the sequence at another value:\n \nALTER SEQUENCE s RESTART 50;\n \nSELECT NEXTVAL(s);\n+------------+\n| NEXTVAL(s) |\n+------------+\n| 50 |\n+------------+\n \nThe SETVAL function can also be used to set the next value\nto be returned for a SEQUENCE, for example:\n \nSELECT SETVAL(s, 100);\n+----------------+\n| SETVAL(s, 100) |\n+----------------+\n| 100 |\n+----------------+\n \nSETVAL can only be used to increase the sequence value.\nAttempting to set a lower value will fail, returning NULL:\n \nSELECT SETVAL(s, 50);\n+---------------+\n| SETVAL(s, 50) |\n+---------------+\n| NULL |\n+---------------+\n \nDropping a Sequence\n \nThe DROP SEQUENCE statement is used to drop a sequence, for\nexample:\n \nDROP SEQUENCE s;\n \nReplication\n \nIf one wants to use Sequences in a master-master setup or\nwith Galera one\nshould use INCREMENT=0. This will tell the Sequence to use\nauto_increment_increment and auto_increment_offset to\ngenerate unique values for each server.\n \nStandards Compliance\n \nMariaDB 10.3 supports both ANSI SQL and Oracle syntax for\nsequences.\n \nHowever as SEQUENCE is implemented as a special kind of\ntable, it uses the same namespace as tables. The benefits\nare that sequences show up in SHOW TABLES, and one can also\ncreate a sequence with CREATE TABLE and drop it with DROP\nTABLE. One can SELECT from it as from any other table. This\nensures that all old tools that work with tables should work\nwith sequences.\n \nSince sequence objects act as regular tables in many\ncontexts, they will be affected by LOCK TABLES. This is not\nthe case in other DBMS, such as Oracle, where LOCK TABLE\ndoes not affect sequences.\n \nNotes\n \nOne of the goals with the Sequence implementation is that\nall old\ntools, such as mysqldump, should work unchanged, while still\nkeeping the\nnormal usage of sequence standard compatibly.\n \nTo make this possible, sequence is currently implemented as\na table with a few exclusive properties.\n \nThe special properties for sequence tables are:\nA sequence table has always one row.\nWhen one creates a sequence, either with CREATE TABLE or\nCREATE SEQUENCE, one row will be inserted.\nIf one tries to insert into a sequence table, the single row\nwill be updated. This allows mysqldump to work but also\ngives the additional benefit that one can change all\nproperties of a sequence with a single insert. New\napplications should of course also use ALTER SEQUENCE.\nUPDATE or DELETE can\'t be performed on Sequence objects.\nDoing a select on the sequence shows the current state of\nthe sequence, except the values that are reserved in the\ncache. The next_value column shows the next value not\nreserved by the cache.\nFLUSH TABLES will close the sequence and the next sequence\nnumber generated will be according to what\'s stored in the\nSequence object. In effect, this will discard the cached\nvalues.\nA number of normal table operations work on Sequence tables.\nSee next section.\n \nTable Operations that Work with Sequences\n \nSHOW CREATE TABLE sequence_name. This shows the table\nstructure that is behind the SEQUENCE including the field\nnames that can be used with SELECT or even CREATE TABLE.\nCREATE TABLE sequence-structure ... SEQUENCE=1\nALTER TABLE sequence RENAME TO sequence2\nRENAME TABLE sequence_name TO new_sequence_name\nDROP TABLE sequence_name. This is allowed mainly to get old\ntools like mysqldump to work with sequence tables.\nSHOW TABLES\n \nImplementation\n \nInternally, sequence tables are created as a normal table\nwithout\nrollback (the InnoDB, Aria and MySAM engines support this),\nwrapped by a\nsequence engine object. This allowed us to create sequences\nwith\nalmost no performance impact for normal tables. (The cost is\none \'if\'\nper insert if the binary log is enabled).\n \nUnderlying Table Structure\n \nThe following example shows the table structure of sequences\nand how it\ncan be used as a table.\n(Output of results are slightly edited to make them easier\nto read)\n \ncreate sequence t1;\nshow create sequence t1\\G\n***** 1. row *****\n CREATE SEQUENCE `t1` start with 1 minvalue 1 maxvalue\n9223372036854775806\n increment by 1 cache 1000 nocycle ENGINE=InnoDB\n \nshow create table t1\\G\n***** 1. row *****\nCreate Table: CREATE TABLE `t1` (\n `next_not_cached_value` bigint(21) NOT NULL,\n `minimum_value` bigint(21) NOT NULL,\n `maximum_value` bigint(21) NOT NULL,\n `start_value` bigint(21) NOT NULL COMMENT \'start value\nwhen sequences is created or value if RESTART is used\',\n `increment` bigint(21) NOT NULL COMMENT \'increment\nvalue\',\n `cache_size` bigint(21) unsigned NOT NULL,\n `cycle_option` tinyint(1) unsigned NOT NULL COMMENT \'0 if\nno cycles are allowed, 1 if the sequence should begin a new\ncycle when maximum_value is passed\',\n `cycle_count` bigint(21) NOT NULL COMMENT \'How many cycles\nhave been done\'\n) ENGINE=InnoDB SEQUENCE=1\n \nselect * from t1\\G\nnext_not_cached_value: 1\n minimum_value: 1\n maximum_value: 9223372036854775806\n start_value: 1\n increment: 1\n cache_size: 1000\n cycle_option: 0\n cycle_count: 0\nThe cycle_count column is incremented every time the\nsequence wraps around.\n \nCredits\n \nThanks to Jianwe Zhao from Aliyun for his work on SEQUENCE\nin AliSQL, which gave ideas and inspiration for this work.\nThanks to Peter Gulutzan,who helped test and gave useful\ncomments about the implementation.\n \n\n\nURL: https://mariadb.com/kb/en/sequence-overview/', '', 'https://mariadb.com/kb/en/sequence-overview/'),
	(693, 'SETVAL()', 40, 'SEQUENCEs were introduced in MariaDB 10.3.\n \nSyntax\n------ \nSETVAL(sequence_name, next_value, [is_used, [round]])\n \nDescription\n----------- \nSet the next value to be returned for a SEQUENCE.\n \nThis function is compatible with PostgreSQL syntax, extended\nwith the round argument.\n \nIf the is_used argument is not given or is 1 or true, then\nthe next used value will\none after the given value. If is_used is 0 or false then the\nnext generated value\nwill be the given value.\n \nIf round is used then it will set the round value (or the\ninternal cycle count, starting at zero) for the sequence.\nIf round is not used, it\'s assumed to be 0.\n \nnext_value must be an integer literal.\n \nFor SEQUENCE tables defined with CYCLE (see CREATE SEQUENCE)\none should use both next_value and round to define the next\nvalue. In this case the\ncurrent sequence value is defined to be round, next_value.\n \nThe result returned by SETVAL() is next_value or NULL if the\ngiven next_value and round is smaller than the current\nvalue.\n \nSETVAL() will not set the SEQUENCE value to a something that\nis less than\nits current value. This is needed to ensure that SETVAL()\nis replication safe. If you want to set the SEQUENCE to a\nsmaller number\nuse ALTER SEQUENCE.\n \nIf CYCLE is used, first round and then next_value are\ncompared\nto see if the value is bigger than the current value.\n \nInternally, in the MariaDB server, SETVAL() is used to\ninform\nslaves that a SEQUENCE has changed value. The slave may get\nSETVAL() statements out of order, but this is ok as only the\nbiggest one will have an effect.\n \nSETVAL requires the INSERT privilege.\n \nExamples\n-------- \nSELECT setval(foo, 42); -- Next nextval will return 43\nSELECT setval(foo, 42, true); -- Same as above\nSELECT setval(foo, 42, false); -- Next nextval will return\n42\n \nSETVAL setting higher and lower values on a sequence with an\nincrement of 10:\n \nSELECT NEXTVAL(s);\n+------------+\n| NEXTVAL(s) |\n+------------+\n| 50 |\n+------------+\n \nSELECT SETVAL(s, 100);\n+----------------+\n| SETVAL(s, 100) |\n+----------------+\n| 100 |\n+----------------+\n \nSELECT NEXTVAL(s);\n+------------+\n| NEXTVAL(s) |\n+------------+\n| 110 |\n+------------+\n \nSELECT SETVAL(s, 50);\n+---------------+\n| SETVAL(s, 50) |\n+---------------+\n| NULL |\n+---------------+\n \nSELECT NEXTVAL(s);\n+------------+\n| NEXTVAL(s) |\n+------------+\n| 120 |\n+------------+\n \nExample demonstrating round:\n \nCREATE OR REPLACE SEQUENCE s1\n START WITH 1\n MINVALUE 1\n MAXVALUE 99\n INCREMENT BY 1 \n CACHE 20 \n CYCLE;\n \nSELECT SETVAL(s1, 99, 1, 0);\n+----------------------+\n| SETVAL(s1, 99, 1, 0) |\n+----------------------+\n| 99 |\n+----------------------+\n \nSELECT NEXTVAL(s1);\n+-------------+\n| NEXTVAL(s1) |\n+-------------+\n| 1 |\n+-------------+\n \nThe following statement returns NULL, as the given\nnext_value and round is smaller than the current value.\n \nSELECT SETVAL(s1, 99, 1, 0);\n+----------------------+\n| SETVAL(s1, 99, 1, 0) |\n+----------------------+\n| NULL |\n+----------------------+\n \nSELECT NEXTVAL(s1);\n+-------------+\n| NEXTVAL(s1) |\n+-------------+\n| 2 |\n+-------------+\n \nIncreasing the round from zero to 1 will allow next_value to\nbe returned.\n \nSELECT SETVAL(s1, 99, 1, 1);\n+----------------------+\n| SETVAL(s1, 99, 1, 1) |\n+----------------------+\n| 99 |\n+----------------------+\n \nSELECT NEXTVAL(s1);\n+-------------+\n| NEXTVAL(s1) |\n+-------------+\n| 1 |\n+-------------+\n \n\n\nURL: https://mariadb.com/kb/en/setval/', '', 'https://mariadb.com/kb/en/setval/'),
	(696, 'JSON_ARRAY_APPEND', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_ARRAY_APPEND(json_doc, path, value[, path, value] ...)\n \nDescription\n----------- \nAppends values to the end of the specified arrays within a\nJSON document, returning the result, or NULL if any of the\narguments are NULL.\n \nEvaluation is performed from left to right, with the\nresulting document from the previous pair becoming the new\nvalue against which the next pair is evaluated.\n \nIf the json_doc is not a valid JSON document, or if any of\nthe paths are not valid, or contain a * or ** wildcard, an\nerror is returned.\n \nExamples\n-------- \nSET @json = \'[1, 2, [3, 4]]\';\n \nSELECT JSON_ARRAY_APPEND(@json, \'$[0]\', 5)\n+-------------------------------------+\n| JSON_ARRAY_APPEND(@json, \'$[0]\', 5) |\n+-------------------------------------+\n| [[1, 5], 2, [3, 4]] |\n+-------------------------------------+\n \nSELECT JSON_ARRAY_APPEND(@json, \'$[1]\', 6);\n+-------------------------------------+\n| JSON_ARRAY_APPEND(@json, \'$[1]\', 6) |\n+-------------------------------------+\n| [1, [2, 6], [3, 4]] |\n+-------------------------------------+\n \nSELECT JSON_ARRAY_APPEND(@json, \'$[1]\', 6, \'$[2]\', 7);\n+------------------------------------------------+\n| JSON_ARRAY_APPEND(@json, \'$[1]\', 6, \'$[2]\', 7) |\n+------------------------------------------------+\n| [1, [2, 6], [3, 4, 7]] |\n+------------------------------------------------+\n \nSELECT JSON_ARRAY_APPEND(@json, \'$\', 5);\n+----------------------------------+\n| JSON_ARRAY_APPEND(@json, \'$\', 5) |\n+----------------------------------+\n| [1, 2, [3, 4], 5] |\n+----------------------------------+\n \nSET @json = \'{"A": 1, "B": [2], "C": [3, 4]}\';\n \nSELECT JSON_ARRAY_APPEND(@json, \'$.B\', 5);\n+------------------------------------+\n| JSON_ARRAY_APPEND(@json, \'$.B\', 5) |\n+------------------------------------+\n| {"A": 1, "B": [2, 5], "C": [3, 4]} |\n+------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_array_append/', '', 'https://mariadb.com/kb/en/json_array_append/'),
	(697, 'JSON_ARRAY_INSERT', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_ARRAY_INSERT(json_doc, path, value[, path, value] ...)\n \nDescription\n----------- \nInserts a value into a JSON document, returning the modified\ndocument, or NULL if any of the arguments are NULL.\n \nEvaluation is performed from left to right, with the\nresulting document from the previous pair becoming the new\nvalue against which the next pair is evaluated.\n \nIf the json_doc is not a valid JSON document, or if any of\nthe paths are not valid, or contain a * or ** wildcard, an\nerror is returned.\n \nExamples\n-------- \nSET @json = \'[1, 2, [3, 4]]\';\n \nSELECT JSON_ARRAY_INSERT(@json, \'$[0]\', 5);\n+-------------------------------------+\n| JSON_ARRAY_INSERT(@json, \'$[0]\', 5) |\n+-------------------------------------+\n| [5, 1, 2, [3, 4]] |\n+-------------------------------------+\n \nSELECT JSON_ARRAY_INSERT(@json, \'$[1]\', 6);\n+-------------------------------------+\n| JSON_ARRAY_INSERT(@json, \'$[1]\', 6) |\n+-------------------------------------+\n| [1, 6, 2, [3, 4]] |\n+-------------------------------------+\n \nSELECT JSON_ARRAY_INSERT(@json, \'$[1]\', 6, \'$[2]\', 7);\n+------------------------------------------------+\n| JSON_ARRAY_INSERT(@json, \'$[1]\', 6, \'$[2]\', 7) |\n+------------------------------------------------+\n| [1, 6, 7, 2, [3, 4]] |\n+------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_array_insert/', '', 'https://mariadb.com/kb/en/json_array_insert/'),
	(699, 'JSON_CONTAINS', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_CONTAINS(json_doc, val[, path])\n \nDescription\n----------- \nReturns whether or not the specified value is found in the\ngiven JSON document or, optionally, at the specified path\nwithin the document. Returns 1 if it does, 0 if not and NULL\nif any of the arguments are null. An error occurs if the\ndocument or path is not valid, or contains the * or **\nwildcards.\n \nExamples\n-------- \nSET @json = \'{"A": 0, "B": {"C": 1}, "D": 2}\';\n \nSELECT JSON_CONTAINS(@json, \'2\', \'$.A\');\n+----------------------------------+\n| JSON_CONTAINS(@json, \'2\', \'$.A\') |\n+----------------------------------+\n| 0 |\n+----------------------------------+\n \nSELECT JSON_CONTAINS(@json, \'2\', \'$.D\');\n+----------------------------------+\n| JSON_CONTAINS(@json, \'2\', \'$.D\') |\n+----------------------------------+\n| 1 |\n+----------------------------------+\n \nSELECT JSON_CONTAINS(@json, \'{"C": 1}\', \'$.A\');\n+-----------------------------------------+\n| JSON_CONTAINS(@json, \'{"C": 1}\', \'$.A\') |\n+-----------------------------------------+\n| 0 |\n+-----------------------------------------+\n \nSELECT JSON_CONTAINS(@json, \'{"C": 1}\', \'$.B\');\n+-----------------------------------------+\n| JSON_CONTAINS(@json, \'{"C": 1}\', \'$.B\') |\n+-----------------------------------------+\n| 1 |\n+-----------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_contains/', '', 'https://mariadb.com/kb/en/json_contains/'),
	(700, 'JSON_CONTAINS_PATH', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_CONTAINS_PATH(json_doc, return_arg, path[, path] ...)\n \nDescription\n----------- \nIndicates whether the given JSON document contains data at\nthe specified path or paths. Returns 1 if it does, 0 if not\nand NULL if any of the arguments are null.\n \nThe return_arg can be one or all:\none - Returns 1 if at least one path exists within the JSON\ndocument. \nall - Returns 1 only if all paths exist within the JSON\ndocument.\n \nExamples\n-------- \nSET @json = \'{"A": 1, "B": [2], "C": [3, 4]}\';\n \nSELECT JSON_CONTAINS_PATH(@json, \'one\', \'$.A\', \'$.D\');\n+------------------------------------------------+\n| JSON_CONTAINS_PATH(@json, \'one\', \'$.A\', \'$.D\') |\n+------------------------------------------------+\n| 1 |\n+------------------------------------------------+\n1 row in set (0.00 sec)\n \nSELECT JSON_CONTAINS_PATH(@json, \'all\', \'$.A\', \'$.D\');\n+------------------------------------------------+\n| JSON_CONTAINS_PATH(@json, \'all\', \'$.A\', \'$.D\') |\n+------------------------------------------------+\n| 0 |\n+------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_contains_path/', '', 'https://mariadb.com/kb/en/json_contains_path/'),
	(701, 'JSON_DEPTH', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_DEPTH(json_doc)\n \nDescription\n----------- \nReturns the maximum depth of the given JSON document, or\nNULL if the argument is null. An error will occur if the\nargument is an invalid JSON document.\nScalar values or empty arrays or objects have a depth of 1.\nArrays or objects that are not empty but contain only\nelements or member values of depth 1 will have a depth of 2.\nIn other cases, the depth will be greater than 2.\n \nExamples\n-------- \nSELECT JSON_DEPTH(\'[]\'), JSON_DEPTH(\'true\'),\nJSON_DEPTH(\'{}\');\n+------------------+--------------------+------------------+\n| JSON_DEPTH(\'[]\') | JSON_DEPTH(\'true\') |\nJSON_DEPTH(\'{}\') |\n+------------------+--------------------+------------------+\n| 1 | 1 | 1 |\n+------------------+--------------------+------------------+\n \nSELECT JSON_DEPTH(\'[1, 2, 3]\'), JSON_DEPTH(\'[[], {},\n[]]\');\n+-------------------------+----------------------------+\n| JSON_DEPTH(\'[1, 2, 3]\') | JSON_DEPTH(\'[[], {}, []]\') |\n+-------------------------+----------------------------+\n| 2 | 2 |\n+-------------------------+----------------------------+\n \nSELECT JSON_DEPTH(\'[1, 2, [3, 4, 5, 6], 7]\');\n+---------------------------------------+\n| JSON_DEPTH(\'[1, 2, [3, 4, 5, 6], 7]\') |\n+---------------------------------------+\n| 3 |\n+---------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_depth/', '', 'https://mariadb.com/kb/en/json_depth/'),
	(703, 'JSON_EXISTS', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nDescription\n----------- \nDetermines whether a specified JSON value exists in the\ngiven data. Returns 1 if found, 0 if not, or NULL if any of\nthe inputs were NULL.\n \nExamples\n-------- \nSELECT JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2,\n3]}\', "$.key2");\n+------------------------------------------------------------+\n| JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2, 3]}\',\n"$.key2") |\n+------------------------------------------------------------+\n| 1 |\n+------------------------------------------------------------+\n \nSELECT JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2,\n3]}\', "$.key3");\n+------------------------------------------------------------+\n| JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2, 3]}\',\n"$.key3") |\n+------------------------------------------------------------+\n| 0 |\n+------------------------------------------------------------+\n \nSELECT JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2,\n3]}\', "$.key2[1]");\n+---------------------------------------------------------------+\n| JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2, 3]}\',\n"$.key2[1]") |\n+---------------------------------------------------------------+\n| 1 |\n+---------------------------------------------------------------+\n \nSELECT JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2,\n3]}\', "$.key2[10]");\n+----------------------------------------------------------------+\n| JSON_EXISTS(\'{"key1":"xxxx", "key2":[1, 2, 3]}\',\n"$.key2[10]") |\n+----------------------------------------------------------------+\n| 0 |\n+----------------------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_exists/', '', 'https://mariadb.com/kb/en/json_exists/'),
	(704, 'JSON_EXTRACT', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_EXTRACT(json_doc, path[, path] ...)\n \nDescription\n----------- \nExtracts data from a JSON document. The extracted data is\nselected from the parts matching the path arguments. Returns\nall matched values; either as a single matched value, or, if\nthe arguments could return multiple values, a result\nautowrapped as an array in the matching order.\n \nReturns NULL if no paths match or if any of the arguments\nare NULL. \n \nAn error will occur if any path argument is not a valid\npath, or if the json_doc argument is not a valid JSON\ndocument.\n \nExamples\n-------- \nSET @json = \'[1, 2, [3, 4]]\';\n \nSELECT JSON_EXTRACT(@json, \'$[1]\');\n+-----------------------------+\n| JSON_EXTRACT(@json, \'$[1]\') |\n+-----------------------------+\n| 2 |\n+-----------------------------+\n \nSELECT JSON_EXTRACT(@json, \'$[2]\');\n+-----------------------------+\n| JSON_EXTRACT(@json, \'$[2]\') |\n+-----------------------------+\n| [3, 4] |\n+-----------------------------+\n \nSELECT JSON_EXTRACT(@json, \'$[2][1]\');\n+--------------------------------+\n| JSON_EXTRACT(@json, \'$[2][1]\') |\n+--------------------------------+\n| 4 |\n+--------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_extract/', '', 'https://mariadb.com/kb/en/json_extract/'),
	(705, 'JSON_INSERT', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_INSERT(json_doc, path, val[, path, val] ...)\n \nDescription\n----------- \nInserts data into a JSON document, returning the resulting\ndocument or NULL if any argument is null. \n \nAn error will occur if the JSON document is not invalid, or\nif any of the paths are invalid or contain a * or **\nwildcard.\n \nJSON_INSERT can only insert data while JSON_REPLACE can only\nupdate. JSON_SET can update or insert data. \n \nExamples\n-------- \nSET @json = \'{ "A": 0, "B": [1, 2]}\';\n \nSELECT JSON_INSERT(@json, \'$.C\', \'[3, 4]\');\n+--------------------------------------+\n| JSON_INSERT(@json, \'$.C\', \'[3, 4]\') |\n+--------------------------------------+\n| { "A": 0, "B": [1, 2], "C":"[3, 4]"} |\n+--------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_insert/', '', 'https://mariadb.com/kb/en/json_insert/'),
	(706, 'JSON_KEYS', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_KEYS(json_doc[, path])\n \nDescription\n----------- \nReturns the keys as a JSON array from the top-level value of\na JSON object or, if the optional path argument is provided,\nthe top-level keys from the path. \n \nExcludes keys from nested sub-objects in the top level\nvalue. The resulting array will be empty if the selected\nobject is empty.\n \nReturns NULL if any of the arguments are null, a given path\ndoes not locate an object, or if the json_doc argument is\nnot an object.\n \nAn error will occur if JSON document is invalid, the path is\ninvalid or if the path contains a * or ** wildcard.\n \nExamples\n-------- \nSELECT JSON_KEYS(\'{"A": 1, "B": {"C": 2}}\');\n+--------------------------------------+\n| JSON_KEYS(\'{"A": 1, "B": {"C": 2}}\') |\n+--------------------------------------+\n| ["A", "B"] |\n+--------------------------------------+\n \nSELECT JSON_KEYS(\'{"A": 1, "B": 2, "C": {"D":\n3}}\', \'$.C\');\n+-----------------------------------------------------+\n| JSON_KEYS(\'{"A": 1, "B": 2, "C": {"D": 3}}\',\n\'$.C\') |\n+-----------------------------------------------------+\n| ["D"] |\n+-----------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_keys/', '', 'https://mariadb.com/kb/en/json_keys/'),
	(707, 'JSON_LENGTH', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_LENGTH(json_doc[, path])\n \nDescription\n----------- \nReturns the length of a JSON document, or, if the optional\npath argument is given, the length of the value within the\ndocument specified by the path. \n \nReturns NULL if any of the arguments argument are null or\nthe path argument does not identify a value in the document.\n\n \nAn error will occur if the JSON document is invalid, the\npath is invalid or if the path contains a * or ** wildcard.\n \nLength will be determined as follow:\nA scalar\'s length is always 1.\nIf an array, the number of elements in the array.\nIf an object, the number of members in the object.\n \nThe length of nested arrays or objects are not counted.\n \nExamples\n-------- \n\n \n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_length/', '', 'https://mariadb.com/kb/en/json_length/'),
	(709, 'JSON_MERGE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_MERGE(json_doc, json_doc[, json_doc] ...)\n \nDescription\n----------- \nMerges the given JSON documents.\n \nReturns the merged result,or NULL if any argument is NULL.\n \nAn error occurs if any of the arguments are not valid JSON\ndocuments.\n \nJSON_MERGE has been deprecated since MariaDB 10.2.25,\nMariaDB 10.3.16 and MariaDB 10.4.5. JSON_MERGE_PATCH is an\nRFC 7396-compliant replacement, and JSON_MERGE_PRESERVE is a\nsynonym.\n \nExample\n \nSET @json1 = \'[1, 2]\';\n \nSET @json2 = \'[3, 4]\';\n \nSELECT JSON_MERGE(@json1,@json2);\n+---------------------------+\n| JSON_MERGE(@json1,@json2) |\n+---------------------------+\n| [1, 2, 3, 4] |\n+---------------------------+\n \n\n\nURL: https://mariadb.com/kb/en/json_merge/', '', 'https://mariadb.com/kb/en/json_merge/'),
	(710, 'JSON_MERGE_PATCH', 41, 'JSON_MERGE_PATCH was introduced in MariaDB 10.2.25, MariaDB\n10.3.16 and MariaDB 10.4.5.\n \nSyntax\n------ \nJSON_MERGE_PATCH(json_doc, json_doc[, json_doc] ...)\n \nDescription\n----------- \nMerges the given JSON documents, returning the merged\nresult, or NULL if any argument is NULL.\n \nJSON_MERGE_PATCH is an RFC 7396-compliant replacement for\nJSON_MERGE, which has been deprecated.\n \nExample\n \nSET @json1 = \'[1, 2]\';\n \nSET @json2 = \'[2, 3]\';\n \nSELECT\nJSON_MERGE_PATCH(@json1,@json2),JSON_MERGE_PRESERVE(@json1,@json2);\n+---------------------------------+------------------------------------+\n| JSON_MERGE_PATCH(@json1,@json2) |\nJSON_MERGE_PRESERVE(@json1,@json2) |\n+---------------------------------+------------------------------------+\n| [2, 3] | [1, 2, 2, 3] |\n+---------------------------------+------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_merge_patch/', '', 'https://mariadb.com/kb/en/json_merge_patch/'),
	(711, 'JSON_MERGE_PRESERVE', 41, 'JSON_MERGE_PRESERVE was introduced in MariaDB 10.2.25,\nMariaDB 10.3.16 and MariaDB 10.4.5.\n \nSyntax\n------ \nJSON_MERGE_PRESERVE(json_doc, json_doc[, json_doc] ...)\n \nDescription\n----------- \nMerges the given JSON documents, returning the merged\nresult, or NULL if any argument is NULL.\n \nJSON_MERGE_PRESERVE was introduced in MariaDB 10.2.25,\nMariaDB 10.3.16 and MariaDB 10.4.5 as a synonym for\nJSON_MERGE, which has been deprecated.\n \nExample\n \nSET @json1 = \'[1, 2]\';\n \nSET @json2 = \'[2, 3]\';\n \nSELECT\nJSON_MERGE_PATCH(@json1,@json2),JSON_MERGE_PRESERVE(@json1,@json2);\n+---------------------------------+------------------------------------+\n| JSON_MERGE_PATCH(@json1,@json2) |\nJSON_MERGE_PRESERVE(@json1,@json2) |\n+---------------------------------+------------------------------------+\n| [2, 3] | [1, 2, 2, 3] |\n+---------------------------------+------------------------------------+\n \n\n\nURL: https://mariadb.com/kb/en/json_merge_preserve/', '', 'https://mariadb.com/kb/en/json_merge_preserve/'),
	(713, 'JSON_QUERY', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_QUERY(json_doc, path)\n \nDescription\n----------- \nGiven a JSON document, returns an object or array specified\nby the path. Returns NULL if not given a valid JSON\ndocument, or if there is no match.\n \nExamples\n-------- \nselect json_query(\'{"key1":{"a":1, "b":[1,2]}}\',\n\'$.key1\');\n+-----------------------------------------------------+\n| json_query(\'{"key1":{"a":1, "b":[1,2]}}\',\n\'$.key1\') |\n+-----------------------------------------------------+\n| {"a":1, "b":[1,2]} |\n+-----------------------------------------------------+\n \nselect json_query(\'{"key1":123, "key1": [1,2,3]}\',\n\'$.key1\');\n+-------------------------------------------------------+\n| json_query(\'{"key1":123, "key1": [1,2,3]}\',\n\'$.key1\') |\n+-------------------------------------------------------+\n| [1,2,3] |\n+-------------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_query/', '', 'https://mariadb.com/kb/en/json_query/'),
	(714, 'JSON_QUOTE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_QUOTE(json_value)\n \nDescription\n----------- \nQuotes a string as a JSON value, usually for producing valid\nJSON string literals for inclusion in JSON documents. Wraps\nthe string with double quote characters and escapes interior\nquotes and other special characters, returning a utf8mb4\nstring. \n \nReturns NULL if the argument is NULL.\n \nExamples\n-------- \nSELECT JSON_QUOTE(\'A\'), JSON_QUOTE("B"),\nJSON_QUOTE(\'"C"\');\n+-----------------+-----------------+-------------------+\n| JSON_QUOTE(\'A\') | JSON_QUOTE("B") |\nJSON_QUOTE(\'"C"\') |\n+-----------------+-----------------+-------------------+\n| "A" | "B" | "\\"C\\"" |\n+-----------------+-----------------+-------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_quote/', '', 'https://mariadb.com/kb/en/json_quote/'),
	(715, 'JSON_REMOVE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_REMOVE(json_doc, path[, path] ...)\n \nDescription\n----------- \nRemoves data from a JSON document returning the result, or\nNULL if any of the arguments are null. If the element does\nnot exist in the document, no changes are made.\n \nAn error will occur if JSON document is invalid, the path is\ninvalid or if the path contains a * or ** wildcard.\n \nPath arguments are evaluated from left to right, with the\nresult from the earlier evaluation being used as the value\nfor the next.\n \nExamples\n-------- \nSELECT JSON_REMOVE(\'{"A": 1, "B": 2, "C": {"D":\n3}}\', \'$.C\');\n+-------------------------------------------------------+\n| JSON_REMOVE(\'{"A": 1, "B": 2, "C": {"D": 3}}\',\n\'$.C\') |\n+-------------------------------------------------------+\n| {"A": 1, "B": 2} |\n+-------------------------------------------------------+\n \nSELECT JSON_REMOVE(\'["A", "B", ["C", "D"],\n"E"]\', \'$[1]\');\n+----------------------------------------------------+\n| JSON_REMOVE(\'["A", "B", ["C", "D"], "E"]\',\n\'$[1]\') |\n+----------------------------------------------------+\n| ["A", ["C", "D"], "E"] |\n+----------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_remove/', '', 'https://mariadb.com/kb/en/json_remove/'),
	(716, 'JSON_REPLACE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_REPLACE(json_doc, path, val[, path, val] ...)\n \nDescription\n----------- \nReplaces existing values in a JSON document, returning the\nresult, or NULL if any of the arguments are NULL. \n \nAn error will occur if the JSON document is invalid, the\npath is invalid or if the path contains a * or ** wildcard.\n \nPaths and values are evaluated from left to right, with the\nresult from the earlier evaluation being used as the value\nfor the next.\n \nJSON_REPLACE can only update data, while JSON_INSERT can\nonly insert. JSON_SET can update or insert data. \n \nExamples\n-------- \nSELECT JSON_REPLACE(\'{ "A": 1, "B": [2, 3]}\',\n\'$.B[1]\', 4);\n+-----------------------------------------------------+\n| JSON_REPLACE(\'{ "A": 1, "B": [2, 3]}\', \'$.B[1]\',\n4) |\n+-----------------------------------------------------+\n| { "A": 1, "B": [2, 4]} |\n+-----------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_replace/', '', 'https://mariadb.com/kb/en/json_replace/'),
	(717, 'JSON_SEARCH', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_SEARCH(json_doc, return_arg, search_str[, escape_char[,\npath] ...])\n \nDescription\n----------- \nReturns the path to the given string within a JSON document,\nor NULL if any of json_doc, search_str or a path argument is\nNULL; if the search string is not found, or if no path\nexists within the document. \n \nA warning will occur if the JSON document is not valid, any\nof the path arguments are not valid, if return_arg is\nneither one nor all, or if the escape character is not a\nconstant. NULL will be returned.\n \nreturn_arg can be one of two values:\n\'one: Terminates after finding the first match, so will\nreturn one path string. If there is more than one match, it\nis undefined which is considered first.\nall: Returns all matching path strings, without duplicates.\nMultiple strings are autowrapped as an array. The order is\nundefined.\n \nExamples\n-------- \nSET @json = \'["A", [{"B": "1"}], {"C":"AB"},\n{"D":"BC"}]\';\n \nSELECT JSON_SEARCH(@json, \'one\', \'AB\');\n+---------------------------------+\n| JSON_SEARCH(@json, \'one\', \'AB\') |\n+---------------------------------+\n| "$[2].C" |\n+---------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_search/', '', 'https://mariadb.com/kb/en/json_search/'),
	(719, 'JSON_TYPE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_TYPE(json_val)\n \nDescription\n----------- \nReturns the type of a JSON value, or NULL if the argument is\nnull.\n \nAn error will occur if the argument is an invalid JSON\nvalue.\n \nThe following is a complete list of the possible return\ntypes:\n \nReturn type | Value | \n \nARRAY | JSON array | \n \nBIT | MariaDB BIT scalar | \n \nBLOB | MariaDB binary types (BINARY, VARBINARY or BLOB) | \n \nBOOLEAN | JSON true/false literals | \n \nDATE | MariaDB DATE scalar | \n \nDATETIME | MariaDB DATETIME or TIMESTAMP scalar | \n \nDECIMAL | MariaDB DECIMAL or NUMERIC scalar | \n \nDOUBLE | MariaDB DOUBLE FLOAT scalar | \n \nINTEGER | MariaDB integer types (TINYINT, SMALLINT,\nMEDIUMINT, INT or BIGINT) | \n \nNULL | JSON null literal or NULL argument | \n \nOBJECT | JSON object | \n \nOPAQUE | Any valid JSON value that is not one of the other\ntypes. | \n \nSTRING | MariaDB character types (CHAR, VARCHAR, TEXT, ENUM\nor SET) | \n \nTIME | MariaDB TIME scalar | \n \nExamples\n-------- \nSELECT JSON_TYPE(\'{"A": 1, "B": 2, "C": 3}\');\n+---------------------------------------+\n| JSON_TYPE(\'{"A": 1, "B": 2, "C": 3}\') |\n+---------------------------------------+\n| OBJECT |\n+---------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_type/', '', 'https://mariadb.com/kb/en/json_type/'),
	(720, 'JSON_UNQUOTE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_UNQUOTE(val)\n \nDescription\n----------- \nUnquotes a JSON value, returning a string, or NULL if the\nargument is null. \n \nAn error will occur if the given value begins and ends with\ndouble quotes and is an invalid JSON string literal.\n \nCertain character sequences have special meanings within a\nstring. Usually, a backspace is ignored, but the escape\nsequences in the table below are recognised by MariaDB,\nunless the SQL Mode is set to NO_BACKSLASH_ESCAPES SQL.\n \nEscape sequence | Character | \n \n\\" | Double quote (") | \n \n\\b | Backspace | \n \n\\f | Formfeed | \n \n\\n | Newline (linefeed) | \n \n\\r | Carriage return | \n \n\\t | Tab | \n \n\\\\ | Backslash (\\) | \n \n\\uXXXX | UTF-8 bytes for Unicode value XXXX | \n \nExamples\n-------- \nSELECT JSON_UNQUOTE(\'"Monty"\');\n+-------------------------+\n| JSON_UNQUOTE(\'"Monty"\') |\n+-------------------------+\n| Monty |\n+-------------------------+\n \nWith the default SQL Mode:\n \nSELECT JSON_UNQUOTE(\'Si\\bng\\ting\');\n+-----------------------------+\n| JSON_UNQUOTE(\'Si\\bng\\ting\') |\n+-----------------------------+\n| Sng ing |\n+-----------------------------+\n \nSetting NO_BACKSLASH_ESCAPES:\n \nSET @@sql_mode = \'NO_BACKSLASH_ESCAPES\';\n \nSELECT JSON_UNQUOTE(\'Si\\bng\\ting\');\n+-----------------------------+\n| JSON_UNQUOTE(\'Si\\bng\\ting\') |\n+-----------------------------+\n| Si\\bng\\ting |\n+-----------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_unquote/', '', 'https://mariadb.com/kb/en/json_unquote/'),
	(721, 'JSON_VALID', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_VALID(value)\n \nDescription\n----------- \nIndicates whether the given value is a valid JSON document\nor not. Returns 1 if valid, 0 if not, and NULL if the\nargument is NULL.\n \nFrom MariaDB 10.4.3, the JSON_VALID function is\nautomatically used as a CHECK constraint for the JSON data\ntype alias in order to ensure that a valid json document is\ninserted. \n \nExamples\n-------- \nSELECT JSON_VALID(\'{"id": 1, "name": "Monty"}\');\n+------------------------------------------+\n| JSON_VALID(\'{"id": 1, "name": "Monty"}\') |\n+------------------------------------------+\n| 1 |\n+------------------------------------------+\n \nSELECT JSON_VALID(\'{"id": 1, "name": "Monty",\n"oddfield"}\');\n+------------------------------------------------------+\n| JSON_VALID(\'{"id": 1, "name": "Monty",\n"oddfield"}\') |\n+------------------------------------------------------+\n| 0 |\n+------------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_valid/', '', 'https://mariadb.com/kb/en/json_valid/'),
	(722, 'JSON_VALUE', 41, 'JSON functions were added in MariaDB 10.2.3.\n \nSyntax\n------ \nJSON_VALUE(json_doc, path)\n \nDescription\n----------- \nGiven a JSON document, returns the scalar specified by the\npath. Returns NULL if not given a valid JSON document, or if\nthere is no match.\n \nExamples\n-------- \nselect json_value(\'{"key1":123}\', \'$.key1\');\n+--------------------------------------+\n| json_value(\'{"key1":123}\', \'$.key1\') |\n+--------------------------------------+\n| 123 |\n+--------------------------------------+\n \nselect json_value(\'{"key1": [1,2,3], "key1":123}\',\n\'$.key1\');\n+-------------------------------------------------------+\n| json_value(\'{"key1": [1,2,3], "key1":123}\',\n\'$.key1\') |\n+-------------------------------------------------------+\n| 123 |\n+-------------------------------------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/json_value/', '', 'https://mariadb.com/kb/en/json_value/'),
	(727, 'DENSE_RANK', 42, 'The DENSE_RANK() function was first introduced with window\nfunctions in MariaDB 10.2.0.\n \nSyntax\n------ \nDENSE_RANK() OVER (\n [ PARTITION BY partition_expression ]\n [ ORDER BY order_list ]\n) \n \nDescription\n----------- \nDENSE_RANK() is a window function that displays the number\nof a given row, starting at one and following the ORDER BY\nsequence of the window function, with identical values\nreceiving the same result. Unlike the RANK() function, there\nare no skipped values if the preceding results are\nidentical. It is also similar to the ROW_NUMBER() function\nexcept that in that function, identical values will receive\na different row number for each result.\n \nExamples\n-------- \nThe distinction between DENSE_RANK(), RANK() and\nROW_NUMBER():\n \nCREATE TABLE student(course VARCHAR(10), mark int, name\nvarchar(10));\n \nINSERT INTO student VALUES \n (\'Maths\', 60, \'Thulile\'),\n (\'Maths\', 60, \'Pritha\'),\n (\'Maths\', 70, \'Voitto\'),\n (\'Maths\', 55, \'Chun\'),\n (\'Biology\', 60, \'Bilal\'),\n (\'Biology\', 70, \'Roger\');\n \nSELECT \n RANK() OVER (PARTITION BY course ORDER BY mark DESC) AS\nrank, \n DENSE_RANK() OVER (PARTITION BY course ORDER BY mark DESC)\nAS dense_rank, \n ROW_NUMBER() OVER (PARTITION BY course ORDER BY mark DESC)\nAS row_num, \n course, mark, name \nFROM student ORDER BY course, mark DESC;\n \n+------+------------+---------+---------+------+---------+\n| rank | dense_rank | row_num | course | mark | name |\n+------+------------+---------+---------+------+---------+\n| 1 | 1 | 1 | Biology | 70 | Roger |\n| 2 | 2 | 2 | Biology | 60 | Bilal |\n| 1 | 1 | 1 | Maths | 70 | Voitto |\n| 2 | 2 | 2 | Maths | 60 | Thulile |\n| 2 | 2 | 3 | Maths | 60 | Pritha |\n| 4 | 3 | 4 | Maths | 55 | Chun |\n+------+------------+---------+---------+------+---------+\n \n\n\nURL: https://mariadb.com/kb/en/dense_rank/', '', 'https://mariadb.com/kb/en/dense_rank/'),
	(723, 'Window Functions Overview', 42, 'Window functions were introduced in MariaDB 10.2.\n \nIntroduction\n \nWindow functions allow calculations to be performed across a\nset of rows related to the current row.\n \nSyntax\n------ \nfunction (expression) OVER (\n [ PARTITION BY expression_list ]\n [ ORDER BY order_list [ frame_clause ] ] ) \n \nfunction:\n A valid window function\n \nexpression_list:\n expression | column_name [, expr_list ]\n \norder_list:\n expression | column_name [ ASC | DESC ] \n [, ... ]\n \nframe_clause:\n {ROWS | RANGE} {frame_border | BETWEEN frame_border AND\nframe_border}\n \nframe_border:\n | UNBOUNDED PRECEDING\n | UNBOUNDED FOLLOWING\n | CURRENT ROW\n | expr PRECEDING\n | expr FOLLOWING\n \nDescription\n----------- \nIn some ways, window functions are similar to aggregate\nfunctions in that they perform calculations across a set of\nrows. However, unlike aggregate functions, the output is not\ngrouped into a single row. \n \nNon-aggregate window functions include \nCUME_DIST\nDENSE_RANK\nFIRST_VALUE\nLAG\nLAST_VALUE\nLEAD\nMEDIAN\nNTH_VALUE\nNTILE\nPERCENT_RANK\nPERCENTILE_CONT\nPERCENTILE_DISC\nRANK, ROW_NUMBER\n \nAggregate functions that can also be used as window\nfunctions include \nAVG\nBIT_AND\nBIT_OR\nBIT_XOR\nCOUNT\nMAX\nMIN\nSTD\nSTDDEV\nSTDDEV_POP\nSTDDEV_SAMP\nSUM\nVAR_POP\nVAR_SAMP\nVARIANCE\n \nWindow function queries are characterised by the OVER\nkeyword, following which the set of rows used for the\ncalculation is specified. By default, the set of rows used\nfor the calculation (the "window) is the entire dataset,\nwhich can be ordered with the ORDER BY clause. The PARTITION\nBY clause is used to reduce the window to a particular group\nwithin the dataset.\n \nFor example, given the following data:\n \nCREATE TABLE student (name CHAR(10), test CHAR(10), score\nTINYINT); \n \nINSERT INTO student VALUES \n (\'Chun\', \'SQL\', 75), (\'Chun\', \'Tuning\', 73), \n (\'Esben\', \'SQL\', 43), (\'Esben\', \'Tuning\', 31), \n (\'Kaolin\', \'SQL\', 56), (\'Kaolin\', \'Tuning\', 88), \n (\'Tatiana\', \'SQL\', 87), (\'Tatiana\', \'Tuning\', 83);\n \nthe following two queries return the average partitioned by\ntest and by name respectively:\n \nSELECT name, test, score, AVG(score) OVER (PARTITION BY\ntest) \n AS average_by_test FROM student;\n \n+---------+--------+-------+-----------------+\n| name | test | score | average_by_test |\n+---------+--------+-------+-----------------+\n| Chun | SQL | 75 | 65.2500 |\n| Chun | Tuning | 73 | 68.7500 |\n| Esben | SQL | 43 | 65.2500 |\n| Esben | Tuning | 31 | 68.7500 |\n| Kaolin | SQL | 56 | 65.2500 |\n| Kaolin | Tuning | 88 | 68.7500 |\n| Tatiana | SQL | 87 | 65.2500 |\n| Tatiana | Tuning | 83 | 68.7500 |\n+---------+--------+-------+-----------------+\n \nSELECT name, test, score, AVG(score) OVER (PARTITION BY\nname) \n AS average_by_name FROM student;\n \n+---------+--------+-------+-----------------+\n| name | test | score | average_by_name |\n+---------+--------+-------+-----------------+\n| Chun | SQL | 75 | 74.0000 |\n| Chun | Tuning | 73 | 74.0000 |\n| Esben | SQL | 43 | 37.0000 |\n| Esben | Tuning | 31 | 37.0000 |\n| Kaolin | SQL | 56 | 72.0000 |\n| Kaolin | Tuning | 88 | 72.0000 |\n| Tatiana | SQL | 87 | 85.0000 |\n| Tatiana | Tuning | 83 | 85.0000 |\n+---------+--------+-------+-----------------+\n \nIt is also possible to specify which rows to include for the\nwindow function (for example, the current row and all\npreceding rows). See Window Frames for more details.\n \nScope\n \nWindow functions were introduced in SQL:2003, and their\ndefinition was expanded in subsequent versions of the\nstandard. The last expansion was in the latest version of\nthe standard, SQL:2011. \n \nMost database products support a subset of the standard,\nthey implement some functions defined as late as in\nSQL:2011, and at the same time leave some parts of SQL:2008\nunimplemented.\n \nMariaDB:\nSupports ROWS and RANGE-type frames\nAll kinds of frame bounds are supported, including RANGE\nPRECEDING|FOLLOWING n frame bounds (unlike PostgreSQL or MS\nSQL Server)\nDoes not yet support DATE[TIME] datatype and arithmetic for\nRANGE-type frames (MDEV-9727)\n \nDoes not support GROUPS-type frames (it seems that no\npopular database supports it, either)\n \nDoes not support frame exclusion (no other database seems to\nsupport it, either) (MDEV-9724)\nDoes not support explicit NULLS FIRST or NULLS LAST.\nDoes not support nested navigation in window functions (this\nis VALUE_OF(expr AT row_marker [, default_value) syntax)\n \nThe following window functions are supported:\n"Streamable" window functions: ROW_NUMBER, RANK,\nDENSE_RANK, \nWindow functions that can be streamed once the number of\nrows in partition is known: PERCENT_RANK, CUME_DIST, NTILE\n \nAggregate functions that are currently supported as window\nfunctions are: COUNT, SUM, AVG, BIT_OR, BIT_AND, BIT_XOR.\nAggregate functions with the DISTINCT specifier (e.g. COUNT(\nDISTINCT x)) are not supported as window functions.\n \nLinks\n \nMDEV-6115 is the main jira task for window functions\ndevelopment. Other tasks are are attached as sub-tasks\nbb-10.2-mdev9543 is the feature tree for window functions.\nDevelopment is ongoing, and this tree has the newest\nchanges.\nTestcases are in mysql-test/t/win*.test\n \nExamples\n-------- \nGiven the following sample data:\n \nCREATE TABLE users (\n email VARCHAR(30), \n first_name VARCHAR(30), \n last_name VARCHAR(30), \n account_type VARCHAR(30)\n);\n \nINSERT INTO users VALUES \n (\'admin@boss.org\', \'Admin\', \'Boss\', \'admin\'), \n (\'bob.carlsen@foo.bar\', \'Bob\', \'Carlsen\',\n\'regular\'),\n (\'eddie.stevens@data.org\', \'Eddie\', \'Stevens\',\n\'regular\'),\n (\'john.smith@xyz.org\', \'John\', \'Smith\', \'regular\'),\n\n (\'root@boss.org\', \'Root\', \'Chief\', \'admin\')\n \nFirst, let\'s order the records by email alphabetically,\ngiving each an ascending rnum value starting with 1. This\nwill make use of the ROW_NUMBER window function:\n \nSELECT row_number() OVER (ORDER BY email) AS rnum,\n email, first_name, last_name, account_type\nFROM users ORDER BY email;\n \n+------+------------------------+------------+-----------+--------------+\n| rnum | email | first_name | last_name | account_type |\n+------+------------------------+------------+-----------+--------------+\n| 1 | admin@boss.org | Admin | Boss | admin |\n| 2 | bob.carlsen@foo.bar | Bob | Carlsen | regular |\n| 3 | eddie.stevens@data.org | Eddie | Stevens | regular |\n| 4 | john.smith@xyz.org | John | Smith | regular |\n| 5 | root@boss.org | Root | Chief | admin |\n+------+------------------------+------------+-----------+--------------\n \nWe can generate separate sequences based on account type,\nusing the PARTITION BY clause:\n \nSELECT row_number() OVER (PARTITION BY account_type ORDER BY\nemail) AS rnum, \n email, first_name, last_name, account_type \nFROM users ORDER BY account_type,email;\n \n+------+------------------------+------------+-----------+--------------+\n| rnum | email | first_name | last_name | account_type |\n+------+------------------------+------------+-----------+--------------+\n| 1 | admin@boss.org | Admin | Boss | admin |\n| 2 | root@boss.org | Root | Chief | admin |\n| 1 | bob.carlsen@foo.bar | Bob | Carlsen | regular |\n| 2 | eddie.stevens@data.org | Eddie | Stevens | regular |\n| 3 | john.smith@xyz.org | John | Smith | regular |\n+------+------------------------+------------+-----------+--------------+\n \nGiven the following structure and data, we want to find the\ntop 5 salaries from each department. \n \nCREATE TABLE employee_salaries (dept VARCHAR(20), name\nVARCHAR(20), salary INT(11));\n \nINSERT INTO employee_salaries VALUES\n(\'Engineering\', \'Dharma\', 3500),\n(\'Engineering\', \'Bình\', 3000),\n(\'Engineering\', \'Adalynn\', 2800),\n(\'Engineering\', \'Samuel\', 2500),\n(\'Engineering\', \'Cveta\', 2200),\n(\'Engineering\', \'Ebele\', 1800),\n(\'Sales\', \'Carbry\', 500),\n(\'Sales\', \'Clytemnestra\', 400),\n(\'Sales\', \'Juraj\', 300),\n(\'Sales\', \'Kalpana\', 300),\n(\'Sales\', \'Svantepolk\', 250),\n(\'Sales\', \'Angelo\', 200);\n \nWe could do this without using window functions, as follows:\n \nselect dept, name, salary\nfrom employee_salaries as t1\nwhere (select count(t2.salary)\n from employee_salaries as t2\n where t1.name != t2.name and\n t1.dept = t2.dept and\n t2.salary > t1.salary) \n\nURL:\nhttps://mariadb.com/kb/en/library/window-functions-overview/', '', 'https://mariadb.com/kb/en/library/window-functions-overview/'),
	(725, 'Window Frames', 42, 'Window functions were first introduced in MariaDB 10.2.0.\n \nSyntax\n------ \nframe_clause:\n {ROWS | RANGE} {frame_border | BETWEEN frame_border AND\nframe_border}\n \nframe_border:\n | UNBOUNDED PRECEDING\n | UNBOUNDED FOLLOWING\n | CURRENT ROW\n | expr PRECEDING\n | expr FOLLOWING\n \nDescription\n----------- \nA basic overview of window functions is described in Window\nFunctions Overview. Window frames expand this functionality\nby allowing the function to include a specified a number of\nrows around the current row.\n \nThese include:\nAll rows before the current row (UNBOUNDED PRECEDING), for\nexample RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW\nAll rows after the current row (UNBOUNDED FOLLOWING), for\nexample RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING\nA set number of rows before the current row (expr PRECEDING)\nfor example RANGE BETWEEN 6 PRECEDING AND CURRENT ROW\nA set number of rows after the current row (expr PRECEDING\nAND expr FOLLOWING) for example RANGE BETWEEN CURRENT ROW\nAND 2 FOLLOWING\nA specified number of rows both before and after the current\nrow, for example RANGE BETWEEN 6 PRECEDING AND 3 FOLLOWING \n \nThe following functions operate on window frames:\nAVG\nBIT_AND\nBIT_OR\nBIT_XOR\nCOUNT\nLEAD\nMAX\nMIN\nNTILE\nSTD\nSTDDEV\nSTDDEV_POP\nSTDDEV_SAMP\nSUM\nVAR_POP\nVAR_SAMP\nVARIANCE\n \nWindow frames are determined by the frame_clause in the\nwindow function request. \n \nTake the following example:\n \nCREATE TABLE `student_test` (\n name char(10),\n test char(10),\n score tinyint(4)\n);\n \nINSERT INTO student_test VALUES \n (\'Chun\', \'SQL\', 75), (\'Chun\', \'Tuning\', 73), \n (\'Esben\', \'SQL\', 43), (\'Esben\', \'Tuning\', 31), \n (\'Kaolin\', \'SQL\', 56), (\'Kaolin\', \'Tuning\', 88), \n (\'Tatiana\', \'SQL\', 87);\n \nSELECT name, test, score, SUM(score) \n OVER () AS total_score \n FROM student_test;\n \n+---------+--------+-------+-------------+\n| name | test | score | total_score |\n+---------+--------+-------+-------------+\n| Chun | SQL | 75 | 453 |\n| Chun | Tuning | 73 | 453 |\n| Esben | SQL | 43 | 453 |\n| Esben | Tuning | 31 | 453 |\n| Kaolin | SQL | 56 | 453 |\n| Kaolin | Tuning | 88 | 453 |\n| Tatiana | SQL | 87 | 453 |\n+---------+--------+-------+-------------+\n \nBy not specifying an OVER condition, the SUM function is run\nover the entire dataset. However, if we specify an ORDER BY\ncondition based on score (and order the entire result in the\nsame way for clarity), the following result is returned:\n \nSELECT name, test, score, SUM(score) \n OVER (ORDER BY score) AS total_score \n FROM student_test ORDER BY score;\n \n+---------+--------+-------+-------------+\n| name | test | score | total_score |\n+---------+--------+-------+-------------+\n| Esben | Tuning | 31 | 31 |\n| Esben | SQL | 43 | 74 |\n| Kaolin | SQL | 56 | 130 |\n| Chun | Tuning | 73 | 203 |\n| Chun | SQL | 75 | 278 |\n| Tatiana | SQL | 87 | 365 |\n| Kaolin | Tuning | 88 | 453 |\n+---------+--------+-------+-------------+\n \nThe total_score column represents a running total of the\ncurrent row, and all previous rows. The window frame in this\nexample expands as the function proceeds.\n \nThe above query makes use of the default to define the\nwindow frame. It could be written explicitly as follows:\n \nSELECT name, test, score, SUM(score) \n OVER (ORDER BY score RANGE BETWEEN UNBOUNDED PRECEDING AND\nCURRENT ROW) AS total_score \n FROM student_test ORDER BY score;\n \n+---------+--------+-------+-------------+\n| name | test | score | total_score |\n+---------+--------+-------+-------------+\n| Esben | Tuning | 31 | 31 |\n| Esben | SQL | 43 | 74 |\n| Kaolin | SQL | 56 | 130 |\n| Chun | Tuning | 73 | 203 |\n| Chun | SQL | 75 | 278 |\n| Tatiana | SQL | 87 | 365 |\n| Kaolin | Tuning | 88 | 453 |\n+---------+--------+-------+-------------+\n \nLet\'s look at some alternatives:\n \nFirstly, applying the window function to the current row and\nall following rows can be done with the use of UNBOUNDED\nFOLLOWING:\n \nSELECT name, test, score, SUM(score) \n OVER (ORDER BY score RANGE BETWEEN CURRENT ROW AND\nUNBOUNDED FOLLOWING) AS total_score \n FROM student_test ORDER BY score;\n \n+---------+--------+-------+-------------+\n| name | test | score | total_score |\n+---------+--------+-------+-------------+\n| Esben | Tuning | 31 | 453 |\n| Esben | SQL | 43 | 422 |\n| Kaolin | SQL | 56 | 379 |\n| Chun | Tuning | 73 | 323 |\n| Chun | SQL | 75 | 250 |\n| Tatiana | SQL | 87 | 175 |\n| Kaolin | Tuning | 88 | 88 |\n+---------+--------+-------+-------------+\n \nIt\'s possible to specify a number of rows, rather than the\nentire unbounded following or preceding set. The following\nexample takes the current row, as well as the previous row:\n \nSELECT name, test, score, SUM(score) \n OVER (ORDER BY score ROWS BETWEEN 1 PRECEDING AND CURRENT\nROW) AS total_score \n FROM student_test ORDER BY score;\n \n+---------+--------+-------+-------------+\n| name | test | score | total_score |\n+---------+--------+-------+-------------+\n| Esben | Tuning | 31 | 31 |\n| Esben | SQL | 43 | 74 |\n| Kaolin | SQL | 56 | 99 |\n| Chun | Tuning | 73 | 129 |\n| Chun | SQL | 75 | 148 |\n| Tatiana | SQL | 87 | 162 |\n| Kaolin | Tuning | 88 | 175 |\n+---------+--------+-------+-------------+\n \nThe current row and the following row:\n \nSELECT name, test, score, SUM(score) \n OVER (ORDER BY score ROWS BETWEEN 1 PRECEDING AND 1\nFOLLOWING) AS total_score \n FROM student_test ORDER BY score;\n \n+---------+--------+-------+-------------+\n| name | test | score | total_score |\n+---------+--------+-------+-------------+\n| Esben | Tuning | 31 | 74 |\n| Esben | SQL | 43 | 130 |\n| Kaolin | SQL | 56 | 172 |\n| Chun | Tuning | 73 | 204 |\n| Chun | SQL | 75 | 235 |\n| Tatiana | SQL | 87 | 250 |\n| Kaolin | Tuning | 88 | 175 |\n+---------+--------+-------+-------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/library/window-frames/', '', 'https://mariadb.com/kb/en/library/window-frames/'),
	(728, 'FIRST_VALUE', 42, 'The FIRST_VALUE() function was first introduced with other\nwindow functions in MariaDB 10.2.\n \nSyntax\n------ \nFIRST_VALUE(expr) OVER (\n [ PARTITION BY partition_expression ]\n [ ORDER BY order_list ]\n) \n \nDescription\n----------- \nFIRST_VALUE returns the first result from an ordered set, or\nNULL if no such result exists.\n \nExamples\n-------- \nCREATE TABLE t1 (\n pk int primary key,\n a int,\n b int,\n c char(10),\n d decimal(10, 3),\n e real\n);\n \nINSERT INTO t1 VALUES\n( 1, 0, 1, \'one\', 0.1, 0.001),\n( 2, 0, 2, \'two\', 0.2, 0.002),\n( 3, 0, 3, \'three\', 0.3, 0.003),\n( 4, 1, 2, \'three\', 0.4, 0.004),\n( 5, 1, 1, \'two\', 0.5, 0.005),\n( 6, 1, 1, \'one\', 0.6, 0.006),\n( 7, 2, NULL, \'n_one\', 0.5, 0.007),\n( 8, 2, 1, \'n_two\', NULL, 0.008),\n( 9, 2, 2, NULL, 0.7, 0.009),\n(10, 2, 0, \'n_four\', 0.8, 0.010),\n(11, 2, 10, NULL, 0.9, NULL);\n \nSELECT pk, FIRST_VALUE(pk) OVER (ORDER BY pk) AS first_asc,\n LAST_VALUE(pk) OVER (ORDER BY pk) AS last_asc,\n FIRST_VALUE(pk) OVER (ORDER BY pk DESC) AS first_desc,\n LAST_VALUE(pk) OVER (ORDER BY pk DESC) AS last_desc\nFROM t1\nORDER BY pk DESC;\n \n+----+-----------+----------+------------+-----------+\n| pk | first_asc | last_asc | first_desc | last_desc |\n+----+-----------+----------+------------+-----------+\n| 11 | 1 | 11 | 11 | 11 |\n| 10 | 1 | 10 | 11 | 10 |\n| 9 | 1 | 9 | 11 | 9 |\n| 8 | 1 | 8 | 11 | 8 |\n| 7 | 1 | 7 | 11 | 7 |\n| 6 | 1 | 6 | 11 | 6 |\n| 5 | 1 | 5 | 11 | 5 |\n| 4 | 1 | 4 | 11 | 4 |\n| 3 | 1 | 3 | 11 | 3 |\n| 2 | 1 | 2 | 11 | 2 |\n| 1 | 1 | 1 | 11 | 1 |\n+----+-----------+----------+------------+-----------+\n \nCREATE OR REPLACE TABLE t1 (i int);\nINSERT INTO t1 VALUES\n(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);\n \nSELECT i,\n FIRST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW\nand 1 FOLLOWING) AS f_1f,\n LAST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW and\n1 FOLLOWING) AS l_1f,\n FIRST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING\nAND 1 FOLLOWING) AS f_1p1f,\n LAST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING AND\n1 FOLLOWING) AS f_1p1f,\n FIRST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN 2 PRECEDING\nAND 1 PRECEDING) AS f_2p1p,\n LAST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN 2 PRECEDING AND\n1 PRECEDING) AS f_2p1p,\n FIRST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN 1 FOLLOWING\nAND 2 FOLLOWING) AS f_1f2f,\n LAST_VALUE(i) OVER (ORDER BY i ROWS BETWEEN 1 FOLLOWING AND\n2 FOLLOWING) AS f_1f2f\nFROM t1;\n \n+------+------+------+--------+--------+--------+--------+--------+--------+\n| i | f_1f | l_1f | f_1p1f | f_1p1f | f_2p1p | f_2p1p |\nf_1f2f | f_1f2f |\n+------+------+------+--------+--------+--------+--------+--------+--------+\n| 1 | 1 | 2 | 1 | 2 | NULL | NULL | 2 | 3 |\n| 2 | 2 | 3 | 1 | 3 | 1 | 1 | 3 | 4 |\n| 3 | 3 | 4 | 2 | 4 | 1 | 2 | 4 | 5 |\n| 4 | 4 | 5 | 3 | 5 | 2 | 3 | 5 | 6 |\n| 5 | 5 | 6 | 4 | 6 | 3 | 4 | 6 | 7 |\n| 6 | 6 | 7 | 5 | 7 | 4 | 5 | 7 | 8 |\n| 7 | 7 | 8 | 6 | 8 | 5 | 6 | 8 | 9 |\n| 8 | 8 | 9 | 7 | 9 | 6 | 7 | 9 | 10 |\n| 9 | 9 | 10 | 8 | 10 | 7 | 8 | 10 | 10 |\n| 10 | 10 | 10 | 9 | 10 | 8 | 9 | NULL | NULL |\n+------+------+------+--------+--------+--------+--------+--------+--------+\n \n\n\nURL: https://mariadb.com/kb/en/first_value/', '', 'https://mariadb.com/kb/en/first_value/'),
	(729, 'LAG', 42, 'The LAG() function was first introduced with other window\nfunctions in MariaDB 10.2.\n \nSyntax\n------ \nLAG (expr[, offset]) OVER ( \n [ PARTITION BY partition_expression ] \n < ORDER BY order_list >\n)\n \nDescription\n----------- \nThe LAG function accesses data from a previous row according\nto the ORDER BY clause without the need for a self-join. The\nspecific row is determined by the offset (default 1), which\nspecifies the number of rows behind the current row to use.\nAn offset of 0 is the current row.\n \nExamples\n-------- \nCREATE TABLE t1 (pk int primary key, a int, b int, c\nchar(10), d decimal(10, 3), e real);\n \nINSERT INTO t1 VALUES\n ( 1, 0, 1, \'one\', 0.1, 0.001),\n ( 2, 0, 2, \'two\', 0.2, 0.002),\n ( 3, 0, 3, \'three\', 0.3, 0.003),\n ( 4, 1, 2, \'three\', 0.4, 0.004),\n ( 5, 1, 1, \'two\', 0.5, 0.005),\n ( 6, 1, 1, \'one\', 0.6, 0.006),\n ( 7, 2, NULL, \'n_one\', 0.5, 0.007),\n ( 8, 2, 1, \'n_two\', NULL, 0.008),\n ( 9, 2, 2, NULL, 0.7, 0.009),\n (10, 2, 0, \'n_four\', 0.8, 0.010),\n (11, 2, 10, NULL, 0.9, NULL);\n \nSELECT pk, LAG(pk) OVER (ORDER BY pk) AS l,\n LAG(pk,1) OVER (ORDER BY pk) AS l1,\n LAG(pk,2) OVER (ORDER BY pk) AS l2,\n LAG(pk,0) OVER (ORDER BY pk) AS l0,\n LAG(pk,-1) OVER (ORDER BY pk) AS lm1,\n LAG(pk,-2) OVER (ORDER BY pk) AS lm2 \nFROM t1;\n \n+----+------+------+------+------+------+------+\n| pk | l | l1 | l2 | l0 | lm1 | lm2 |\n+----+------+------+------+------+------+------+\n| 1 | NULL | NULL | NULL | 1 | 2 | 3 |\n| 2 | 1 | 1 | NULL | 2 | 3 | 4 |\n| 3 | 2 | 2 | 1 | 3 | 4 | 5 |\n| 4 | 3 | 3 | 2 | 4 | 5 | 6 |\n| 5 | 4 | 4 | 3 | 5 | 6 | 7 |\n| 6 | 5 | 5 | 4 | 6 | 7 | 8 |\n| 7 | 6 | 6 | 5 | 7 | 8 | 9 |\n| 8 | 7 | 7 | 6 | 8 | 9 | 10 |\n| 9 | 8 | 8 | 7 | 9 | 10 | 11 |\n| 10 | 9 | 9 | 8 | 10 | 11 | NULL |\n| 11 | 10 | 10 | 9 | 11 | NULL | NULL |\n+----+------+------+------+------+------+------+\n \n\n\nURL: https://mariadb.com/kb/en/lag/', '', 'https://mariadb.com/kb/en/lag/'),
	(730, 'LEAD', 42, 'The LEAD() function was first introduced with other window\nfunctions in MariaDB 10.2.\n \nSyntax\n------ \nLEAD (expr[, offset]) OVER ( \n [ PARTITION BY partition_expression ] \n [ ORDER BY order_list ]\n)\n \nDescription\n----------- \nThe LEAD function accesses data from a following row in the\nsame result set without the need for a self-join. The\nspecific row is determined by the offset (default 1), which\nspecifies the number of rows ahead the current row to use.\nAn offset of 0 is the current row.\n \nExample\n \nCREATE TABLE t1 (pk int primary key, a int, b int, c\nchar(10), d decimal(10, 3), e real);\n \nINSERT INTO t1 VALUES\n ( 1, 0, 1, \'one\', 0.1, 0.001),\n ( 2, 0, 2, \'two\', 0.2, 0.002),\n ( 3, 0, 3, \'three\', 0.3, 0.003),\n ( 4, 1, 2, \'three\', 0.4, 0.004),\n ( 5, 1, 1, \'two\', 0.5, 0.005),\n ( 6, 1, 1, \'one\', 0.6, 0.006),\n ( 7, 2, NULL, \'n_one\', 0.5, 0.007),\n ( 8, 2, 1, \'n_two\', NULL, 0.008),\n ( 9, 2, 2, NULL, 0.7, 0.009),\n (10, 2, 0, \'n_four\', 0.8, 0.010),\n (11, 2, 10, NULL, 0.9, NULL);\n \nSELECT pk, LEAD(pk) OVER (ORDER BY pk) AS l,\n LEAD(pk,1) OVER (ORDER BY pk) AS l1,\n LEAD(pk,2) OVER (ORDER BY pk) AS l2,\n LEAD(pk,0) OVER (ORDER BY pk) AS l0,\n LEAD(pk,-1) OVER (ORDER BY pk) AS lm1,\n LEAD(pk,-2) OVER (ORDER BY pk) AS lm2 \nFROM t1;\n \n+----+------+------+------+------+------+------+\n| pk | l | l1 | l2 | l0 | lm1 | lm2 |\n+----+------+------+------+------+------+------+\n| 1 | 2 | 2 | 3 | 1 | NULL | NULL |\n| 2 | 3 | 3 | 4 | 2 | 1 | NULL |\n| 3 | 4 | 4 | 5 | 3 | 2 | 1 |\n| 4 | 5 | 5 | 6 | 4 | 3 | 2 |\n| 5 | 6 | 6 | 7 | 5 | 4 | 3 |\n| 6 | 7 | 7 | 8 | 6 | 5 | 4 |\n| 7 | 8 | 8 | 9 | 7 | 6 | 5 |\n| 8 | 9 | 9 | 10 | 8 | 7 | 6 |\n| 9 | 10 | 10 | 11 | 9 | 8 | 7 |\n| 10 | 11 | 11 | NULL | 10 | 9 | 8 |\n| 11 | NULL | NULL | NULL | 11 | 10 | 9 |\n+----+------+------+------+------+------+------+\n \n\n\nURL: https://mariadb.com/kb/en/lead/', '', 'https://mariadb.com/kb/en/lead/'),
	(731, 'Median Window Function', 42, 'The MEDIAN() window function was first introduced with in\nMariaDB 10.3.3.\n \nSyntax\n------ \nMEDIAN(median expression) OVER (\n [ PARTITION BY partition_expression ] \n)\n \nDescription\n----------- \nMEDIAN() is a window function that returns the median value\nof a range of values.\n \nIt is a specific case of PERCENTILE_CONT, with an argument\nof 0.5 and the ORDER BY column the one in MEDIAN\'s\nargument. \n \nMEDIAN() OVER ( [ PARTITION BY partition_expression] )\n \nIs equivalent to:\n \nPERCENTILE_CONT(0.5) WITHIN \n GROUP (ORDER BY ) OVER ( [ PARTITION BY\npartition_expression ])\n \nExamples\n-------- \nCREATE TABLE book_rating (name CHAR(30), star_rating\nTINYINT);\n \nINSERT INTO book_rating VALUES (\'Lord of the Ladybirds\',\n5);\nINSERT INTO book_rating VALUES (\'Lord of the Ladybirds\',\n3);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 1);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 2);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 5);\n \nSELECT name, median(star_rating) OVER (PARTITION BY name)\nFROM book_rating;\n \n+-----------------------+----------------------------------------------+\n| name | median(star_rating) OVER (PARTITION BY name) |\n+-----------------------+----------------------------------------------+\n| Lord of the Ladybirds | 4.0000000000 |\n| Lord of the Ladybirds | 4.0000000000 |\n| Lady of the Flies | 2.0000000000 |\n| Lady of the Flies | 2.0000000000 |\n| Lady of the Flies | 2.0000000000 |\n+-----------------------+----------------------------------------------+\n \n\n\nURL: https://mariadb.com/kb/en/median/', '', 'https://mariadb.com/kb/en/median/'),
	(733, 'NTILE', 42, 'The NTILE() function was first introduced with window\nfunctions in MariaDB 10.2.0.\n \nSyntax\n------ \nNTILE (expr) OVER ( \n [ PARTITION BY partition_expression ] \n [ ORDER BY order_list ]\n)\n \nDescription\n----------- \nNTILE() is a window function that returns an integer\nindicating which group a given row falls into. The number of\ngroups is specified in the argument (expr), starting at one.\nOrdered rows in the partition are divided into the specified\nnumber of groups with as equal a size as possible. \n \nExamples\n-------- \ncreate table t1 (\n pk int primary key,\n a int,\n b int\n );\n \ninsert into t1 values\n (11 , 0, 10),\n (12 , 0, 10),\n (13 , 1, 10),\n (14 , 1, 10),\n (18 , 2, 10),\n (15 , 2, 20),\n (16 , 2, 20),\n (17 , 2, 20),\n (19 , 4, 20),\n (20 , 4, 20);\n \nselect pk, a, b,\n ntile(1) over (order by pk)\n from t1;\n \n+----+------+------+-----------------------------+\n| pk | a | b | ntile(1) over (order by pk) |\n+----+------+------+-----------------------------+\n| 11 | 0 | 10 | 1 |\n| 12 | 0 | 10 | 1 |\n| 13 | 1 | 10 | 1 |\n| 14 | 1 | 10 | 1 |\n| 15 | 2 | 20 | 1 |\n| 16 | 2 | 20 | 1 |\n| 17 | 2 | 20 | 1 |\n| 18 | 2 | 10 | 1 |\n| 19 | 4 | 20 | 1 |\n| 20 | 4 | 20 | 1 |\n+----+------+------+-----------------------------+\n \nselect pk, a, b,\n ntile(4) over (order by pk)\n from t1;\n \n+----+------+------+-----------------------------+\n| pk | a | b | ntile(4) over (order by pk) |\n+----+------+------+-----------------------------+\n| 11 | 0 | 10 | 1 |\n| 12 | 0 | 10 | 1 |\n| 13 | 1 | 10 | 1 |\n| 14 | 1 | 10 | 2 |\n| 15 | 2 | 20 | 2 |\n| 16 | 2 | 20 | 2 |\n| 17 | 2 | 20 | 3 |\n| 18 | 2 | 10 | 3 |\n| 19 | 4 | 20 | 4 |\n| 20 | 4 | 20 | 4 |\n+----+------+------+-----------------------------+\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/ntile/', '', 'https://mariadb.com/kb/en/ntile/'),
	(734, 'PERCENT_RANK', 42, 'The PERCENT_RANK() function was first introduced with window\nfunctions in MariaDB 10.2.0.\n \nSyntax\n------ \nPERCENT_RANK() OVER (\n [ PARTITION BY partition_expression ] \n [ ORDER BY order_list ]\n)\n \nDescription\n----------- \nPERCENT_RANK() is a window function that returns the\nrelative percent rank of a given row. The following formula\nis used to calculate the percent rank:\n \n(rank - 1) / (number of rows in the window or partition - 1)\n \nExamples\n-------- \ncreate table t1 (\n pk int primary key,\n a int,\n b int\n);\n \ninsert into t1 values\n( 1 , 0, 10),\n( 2 , 0, 10),\n( 3 , 1, 10),\n( 4 , 1, 10),\n( 8 , 2, 10),\n( 5 , 2, 20),\n( 6 , 2, 20),\n( 7 , 2, 20),\n( 9 , 4, 20),\n(10 , 4, 20);\n \nselect pk, a, b,\n rank() over (order by a) as rank,\n percent_rank() over (order by a) as pct_rank,\n cume_dist() over (order by a) as cume_dist\nfrom t1;\n \n+----+------+------+------+--------------+--------------+\n| pk | a | b | rank | pct_rank | cume_dist |\n+----+------+------+------+--------------+--------------+\n| 1 | 0 | 10 | 1 | 0.0000000000 | 0.2000000000 |\n| 2 | 0 | 10 | 1 | 0.0000000000 | 0.2000000000 |\n| 3 | 1 | 10 | 3 | 0.2222222222 | 0.4000000000 |\n| 4 | 1 | 10 | 3 | 0.2222222222 | 0.4000000000 |\n| 5 | 2 | 20 | 5 | 0.4444444444 | 0.8000000000 |\n| 6 | 2 | 20 | 5 | 0.4444444444 | 0.8000000000 |\n| 7 | 2 | 20 | 5 | 0.4444444444 | 0.8000000000 |\n| 8 | 2 | 10 | 5 | 0.4444444444 | 0.8000000000 |\n| 9 | 4 | 20 | 9 | 0.8888888889 | 1.0000000000 |\n| 10 | 4 | 20 | 9 | 0.8888888889 | 1.0000000000 |\n+----+------+------+------+--------------+--------------+\n \nselect pk, a, b,\n percent_rank() over (order by pk) as pct_rank,\n cume_dist() over (order by pk) as cume_dist\nfrom t1 order by pk;\n \n+----+------+------+--------------+--------------+\n| pk | a | b | pct_rank | cume_dist |\n+----+------+------+--------------+--------------+\n| 1 | 0 | 10 | 0.0000000000 | 0.1000000000 |\n| 2 | 0 | 10 | 0.1111111111 | 0.2000000000 |\n| 3 | 1 | 10 | 0.2222222222 | 0.3000000000 |\n| 4 | 1 | 10 | 0.3333333333 | 0.4000000000 |\n| 5 | 2 | 20 | 0.4444444444 | 0.5000000000 |\n| 6 | 2 | 20 | 0.5555555556 | 0.6000000000 |\n| 7 | 2 | 20 | 0.6666666667 | 0.7000000000 |\n| 8 | 2 | 10 | 0.7777777778 | 0.8000000000 |\n| 9 | 4 | 20 | 0.8888888889 | 0.9000000000 |\n| 10 | 4 | 20 | 1.0000000000 | 1.0000000000 |\n+----+------+------+--------------+--------------+\n \nselect pk, a, b,\n percent_rank() over (partition by a order by a) as\npct_rank,\n cume_dist() over (partition by a order by a) as cume_dist\nfrom t1;\n \n+----+------+------+--------------+--------------+\n| pk | a | b | pct_rank | cume_dist |\n+----+------+------+--------------+--------------+\n| 1 | 0 | 10 | 0.0000000000 | 1.0000000000 |\n| 2 | 0 | 10 | 0.0000000000 | 1.0000000000 |\n| 3 | 1 | 10 | 0.0000000000 | 1.0000000000 |\n| 4 | 1 | 10 | 0.0000000000 | 1.0000000000 |\n| 5 | 2 | 20 | 0.0000000000 | 1.0000000000 |\n| 6 | 2 | 20 | 0.0000000000 | 1.0000000000 |\n| 7 | 2 | 20 | 0.0000000000 | 1.0000000000 |\n| 8 | 2 | 10 | 0.0000000000 | 1.0000000000 |\n| 9 | 4 | 20 | 0.0000000000 | 1.0000000000 |\n| 10 | 4 | 20 | 0.0000000000 | 1.0000000000 |\n+----+------+------+--------------+--------------+\n \n\n\nURL: https://mariadb.com/kb/en/percent_rank/', '', 'https://mariadb.com/kb/en/percent_rank/'),
	(736, 'PERCENTILE_DISC', 42, 'The PERCENTILE_DISC() window function was first introduced\nwith in MariaDB 10.3.3.\n \nSyntax\n------ \n\nDescription\n----------- \nPERCENTILE_DISC() (standing for discrete percentile) is a\nwindow function which returns the first value in the set\nwhose ordered position is the same or more than the\nspecified fraction.\n \nEssentially, the following process is followed to find the\nvalue to return:\nGet the number of rows in the partition.\nWalk through the partition, in order, until finding the the\nfirst row with CUME_DIST() > function_argument.\n \nExamples\n-------- \nCREATE TABLE book_rating (name CHAR(30), star_rating\nTINYINT);\n \nINSERT INTO book_rating VALUES (\'Lord of the Ladybirds\',\n5);\nINSERT INTO book_rating VALUES (\'Lord of the Ladybirds\',\n3);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 1);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 2);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 5);\n \nSELECT name, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY\nstar_rating)\n OVER (PARTITION BY name) AS pc FROM book_rating;\n \n+-----------------------+------+\n| name | pc |\n+-----------------------+------+\n| Lord of the Ladybirds | 3 |\n| Lord of the Ladybirds | 3 |\n| Lady of the Flies | 2 |\n| Lady of the Flies | 2 |\n| Lady of the Flies | 2 |\n+-----------------------+------+\n5 rows in set (0.000 sec)\n \nSELECT name, PERCENTILE_DISC(0) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc FROM book_rating;\n \n+-----------------------+------+\n| name | pc |\n+-----------------------+------+\n| Lord of the Ladybirds | 3 |\n| Lord of the Ladybirds | 3 |\n| Lady of the Flies | 1 |\n| Lady of the Flies | 1 |\n| Lady of the Flies | 1 |\n+-----------------------+------+\n5 rows in set (0.000 sec)\n \nSELECT name, PERCENTILE_DISC(1) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc FROM book_rating;\n \n+-----------------------+------+\n| name | pc |\n+-----------------------+------+\n| Lord of the Ladybirds | 5 |\n| Lord of the Ladybirds | 5 |\n| Lady of the Flies | 5 |\n| Lady of the Flies | 5 |\n| Lady of the Flies | 5 |\n+-----------------------+------+\n5 rows in set (0.000 sec)\n \nSELECT name, PERCENTILE_DISC(0.6) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc FROM book_rating;\n \n+-----------------------+------+\n| name | pc |\n+-----------------------+------+\n| Lord of the Ladybirds | 5 |\n| Lord of the Ladybirds | 5 |\n| Lady of the Flies | 2 |\n| Lady of the Flies | 2 |\n| Lady of the Flies | 2 |\n+-----------------------+------\n \n\n\nURL: https://mariadb.com/kb/en/percentile_disc/', '', 'https://mariadb.com/kb/en/percentile_disc/'),
	(735, 'PERCENTILE_CONT', 42, 'The PERCENTILE_CONT() window function was first introduced\nwith in MariaDB 10.3.3.\n \nSyntax\n------ \nDescription\n----------- \nPERCENTILE_CONT() (standing for continuous percentile) is a\nwindow function which returns a value which corresponds to\nthe given fraction in the sort order. If required, it will\ninterpolate between adjacent input items.\n \nEssentially, the following process is followed to find the\nvalue to return:\nGet the number of rows in the partition, denoted by N\nRN = p*(N-1), where p denotes the argument to the\nPERCENTILE_CONT function\ncalculate the FRN(floor row number) and CRN(column row\nnumber for the group( FRN= floor(RN) and CRN = ceil(RN))\nlook up rows FRN and CRN\nIf (CRN = FRN = RN) then the result is (value of expression\nfrom row at RN)\nOtherwise the result is\n(CRN - RN) * (value of expression for row at FRN) +\n(RN - FRN) * (value of expression for row at CRN)\n \nThe MEDIAN function is a specific case of PERCENTILE_CONT,\nequivalent to PERCENTILE_CONT(0.5).\n \nExamples\n-------- \nCREATE TABLE book_rating (name CHAR(30), star_rating\nTINYINT);\n \nINSERT INTO book_rating VALUES (\'Lord of the Ladybirds\',\n5);\nINSERT INTO book_rating VALUES (\'Lord of the Ladybirds\',\n3);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 1);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 2);\nINSERT INTO book_rating VALUES (\'Lady of the Flies\', 5);\n \nSELECT name, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc \n FROM book_rating;\n \n+-----------------------+--------------+\n| name | pc |\n+-----------------------+--------------+\n| Lord of the Ladybirds | 4.0000000000 |\n| Lord of the Ladybirds | 4.0000000000 |\n| Lady of the Flies | 2.0000000000 |\n| Lady of the Flies | 2.0000000000 |\n| Lady of the Flies | 2.0000000000 |\n+-----------------------+--------------+\n \nSELECT name, PERCENTILE_CONT(1) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc \n FROM book_rating;\n \n+-----------------------+--------------+\n| name | pc |\n+-----------------------+--------------+\n| Lord of the Ladybirds | 5.0000000000 |\n| Lord of the Ladybirds | 5.0000000000 |\n| Lady of the Flies | 5.0000000000 |\n| Lady of the Flies | 5.0000000000 |\n| Lady of the Flies | 5.0000000000 |\n+-----------------------+--------------+\n \nSELECT name, PERCENTILE_CONT(0) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc \n FROM book_rating;\n \n+-----------------------+--------------+\n| name | pc |\n+-----------------------+--------------+\n| Lord of the Ladybirds | 3.0000000000 |\n| Lord of the Ladybirds | 3.0000000000 |\n| Lady of the Flies | 1.0000000000 |\n| Lady of the Flies | 1.0000000000 |\n| Lady of the Flies | 1.0000000000 |\n+-----------------------+--------------+\n \nSELECT name, PERCENTILE_CONT(0.6) WITHIN GROUP (ORDER BY\nstar_rating) \n OVER (PARTITION BY name) AS pc \n FROM book_rating;\n \n+-----------------------+--------------+\n| name | pc |\n+-----------------------+--------------+\n| Lord of the Ladybirds | 4.2000000000 |\n| Lord of the Ladybirds | 4.2000000000 |\n| Lady of the Flies | 2.6000000000 |\n| Lady of the Flies | 2.6000000000 |\n| Lady of the Flies | 2.6000000000 |\n+-----------------------+--------------+\n \n\n\nURL: https://mariadb.com/kb/en/percentile_cont/', '', 'https://mariadb.com/kb/en/percentile_cont/'),
	(737, 'RANK', 42, 'The RANK() function was first introduced with window\nfunctions in MariaDB 10.2.0.\n \nSyntax\n------ \nRANK() OVER (\n [ PARTITION BY partition_expression ]\n [ ORDER BY order_list ]\n) \n \nDescription\n----------- \nRANK() is a window function that displays the number of a\ngiven row, starting at one and following the ORDER BY\nsequence of the window function, with identical values\nreceiving the same result. It is similar to the ROW_NUMBER()\nfunction except that in that function, identical values will\nreceive a different row number for each result.\n \nExamples\n-------- \nThe distinction between DENSE_RANK(), RANK() and\nROW_NUMBER():\n \nCREATE TABLE student(course VARCHAR(10), mark int, name\nvarchar(10));\n \nINSERT INTO student VALUES \n (\'Maths\', 60, \'Thulile\'),\n (\'Maths\', 60, \'Pritha\'),\n (\'Maths\', 70, \'Voitto\'),\n (\'Maths\', 55, \'Chun\'),\n (\'Biology\', 60, \'Bilal\'),\n (\'Biology\', 70, \'Roger\');\n \nSELECT \n RANK() OVER (PARTITION BY course ORDER BY mark DESC) AS\nrank, \n DENSE_RANK() OVER (PARTITION BY course ORDER BY mark DESC)\nAS dense_rank, \n ROW_NUMBER() OVER (PARTITION BY course ORDER BY mark DESC)\nAS row_num, \n course, mark, name \nFROM student ORDER BY course, mark DESC;\n \n+------+------------+---------+---------+------+---------+\n| rank | dense_rank | row_num | course | mark | name |\n+------+------------+---------+---------+------+---------+\n| 1 | 1 | 1 | Biology | 70 | Roger |\n| 2 | 2 | 2 | Biology | 60 | Bilal |\n| 1 | 1 | 1 | Maths | 70 | Voitto |\n| 2 | 2 | 2 | Maths | 60 | Thulile |\n| 2 | 2 | 3 | Maths | 60 | Pritha |\n| 4 | 3 | 4 | Maths | 55 | Chun |\n+------+------------+---------+---------+------+---------+\n \n\n\nURL: https://mariadb.com/kb/en/rank/', '', 'https://mariadb.com/kb/en/rank/'),
	(738, 'ROW_NUMBER', 42, 'ROW_NUMBER() was first introduced with window functions in\nMariaDB 10.2.0.\n \nSyntax\n------ \nROW_NUMBER() OVER (\n [ PARTITION BY partition_expression ]\n [ ORDER BY order_list ]\n) \n \nDescription\n----------- \nROW_NUMBER() is a window function that displays the number\nof a given row, starting at one and following the ORDER BY\nsequence of the window function, with identical values\nreceiving different row numbers. It is similar to the RANK()\nand DENSE_RANK() functions except that in that function,\nidentical values will receive the same rank for each result.\n \nExamples\n-------- \nThe distinction between DENSE_RANK(), RANK() and\nROW_NUMBER():\n \nCREATE TABLE student(course VARCHAR(10), mark int, name\nvarchar(10));\n \nINSERT INTO student VALUES \n (\'Maths\', 60, \'Thulile\'),\n (\'Maths\', 60, \'Pritha\'),\n (\'Maths\', 70, \'Voitto\'),\n (\'Maths\', 55, \'Chun\'),\n (\'Biology\', 60, \'Bilal\'),\n (\'Biology\', 70, \'Roger\');\n \nSELECT \n RANK() OVER (PARTITION BY course ORDER BY mark DESC) AS\nrank, \n DENSE_RANK() OVER (PARTITION BY course ORDER BY mark DESC)\nAS dense_rank, \n ROW_NUMBER() OVER (PARTITION BY course ORDER BY mark DESC)\nAS row_num, \n course, mark, name \nFROM student ORDER BY course, mark DESC;\n \n+------+------------+---------+---------+------+---------+\n| rank | dense_rank | row_num | course | mark | name |\n+------+------------+---------+---------+------+---------+\n| 1 | 1 | 1 | Biology | 70 | Roger |\n| 2 | 2 | 2 | Biology | 60 | Bilal |\n| 1 | 1 | 1 | Maths | 70 | Voitto |\n| 2 | 2 | 2 | Maths | 60 | Thulile |\n| 2 | 2 | 3 | Maths | 60 | Pritha |\n| 4 | 3 | 4 | Maths | 55 | Chun |\n+------+------------+---------+---------+------+---------+\n \n\n\nURL: https://mariadb.com/kb/en/row_number/', '', 'https://mariadb.com/kb/en/row_number/'),
	(739, 'SPIDER_BG_DIRECT_SQL', 43, 'Syntax\n------ \nSPIDER_BG_DIRECT_SQL(\'sql\', \'tmp_table_list\',\n\'parameters\')\n \nDescription\n----------- \nExecutes the given SQL statement in the background on the\nremote server, as defined in the parameters listing. If the\nquery returns a result-set, it sttores the results in the\ngiven temporary table. When the given SQL statement executes\nsuccessfully, this function returns the number of called\nUDF\'s. It returns 0 when the given SQL statement fails.\n \nThis function is a UDF installed with the Spider storage\nengine.\n \nExamples\n-------- \nSELECT SPIDER_BG_DIRECT_SQL(\'SELECT * FROM example_table\',\n\'\', \n \'srv "node1", port "8607"\') AS "Direct Query";\n+--------------+\n| Direct Query | \n+--------------+\n| 1 |\n+--------------+\n \nParameters\n \nerror_rw_mode\n \nDescription: Returns empty results on network error.\n0 : Return error on getting network error.\n1: Return 0 records on getting network error.\n \nDefault Table Value: 0\nDSN Parameter Name: erwm\n \n\n\nURL: https://mariadb.com/kb/en/spider_bg_direct_sql/', '', 'https://mariadb.com/kb/en/spider_bg_direct_sql/'),
	(740, 'SPIDER_COPY_TABLES', 43, 'Syntax\n------ \nSPIDER_COPY_TABLES(spider_table_name, \n source_link_id, destination_link_id_list [,parameters])\n \nDescription\n----------- \nA UDF installed with the Spider Storage Engine, this\nfunction copies table data from source_link_id to\ndestination_link_id_list. The service does not need to be\nstopped in order to copy.\n \nIf the Spider table is partitioned, the name must be of the\nformat table_name#P#partition_name. The partition name can\nbe viewed in the mysql.spider_tables table, for example:\n \nSELECT table_name FROM mysql.spider_tables;\n+-------------+\n| table_name |\n+-------------+\n| spt_a#P#pt1 |\n| spt_a#P#pt2 |\n| spt_a#P#pt3 |\n+-------------+\n \nReturns 1 if the data was copied successfully, or 0 if\ncopying the data failed.\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/spider_copy_tables/', '', 'https://mariadb.com/kb/en/spider_copy_tables/'),
	(741, 'SPIDER_DIRECT_SQL', 43, 'Syntax\n------ \nSPIDER_DIRECT_SQL(\'sql\', \'tmp_table_list\',\n\'parameters\')\n \nDescription\n----------- \nA UDF installed with the Spider Storage Engine, this\nfunction is used to execute the SQL string sql on the remote\nserver, as defined in parameters. If any resultsets are\nreturned, they are stored in the tmp_table_list.\n \nThe function returns 1 if the SQL executes successfully, or\n0 if it fails.\n \nExamples\n-------- \nSELECT SPIDER_DIRECT_SQL(\'SELECT * FROM s\', \'\', \'srv\n"node1", port "8607"\');\n+----------------------------------------------------------------------+\n| SPIDER_DIRECT_SQL(\'SELECT * FROM s\', \'\', \'srv\n"node1", port "8607"\') |\n+----------------------------------------------------------------------+\n| 1 |\n+----------------------------------------------------------------------+\n \n\n\nURL: https://mariadb.com/kb/en/spider_direct_sql/', '', 'https://mariadb.com/kb/en/spider_direct_sql/'),
	(743, 'COLUMN_ADD', 44, 'The Dynamic columns feature was introduced in MariaDB 5.3.\n \nSyntax\n------ \nCOLUMN_ADD(dyncol_blob, column_nr, value [as type],\n[column_nr, value [as type]]...);\nCOLUMN_ADD(dyncol_blob, column_name, value [as type],\n[column_name, value [as type]]...);\n \nDescription\n----------- \nAdds or updates dynamic columns.\ndyncol_blob must be either a valid dynamic columns blob (for\nexample, COLUMN_CREATE returns such blob), or an empty\nstring.\ncolumn_name specifies the name of the column to be added. If\ndyncol_blob already has a column with this name, it will be\noverwritten.\nvalue specifies the new value for the column. Passing a NULL\nvalue will cause the column to be deleted.\nas type is optional. See #datatypes section for a discussion\nabout types.\n \nThe return value is a dynamic column blob after the\nmodifications.\n \nExamples\n-------- \n-- MariaDB 5.3+:\nUPDATE tbl SET dyncol_blob=COLUMN_ADD(dyncol_blob, 1\n/*column id*/, "value") WHERE id=1;\n \n-- MariaDB 10.0.1+:\nUPDATE t1 SET dyncol_blob=COLUMN_ADD(dyncol_blob,\n"column_name", "value") WHERE id=1;\n \nNote: COLUMN_ADD() is a regular function (just like\nCONCAT()), hence, in order to update the value in the table\nyou have to use the UPDATE ... SET\ndynamic_col=COLUMN_ADD(dynamic_col,\n....)  pattern.\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/column_add/', '', 'https://mariadb.com/kb/en/column_add/'),
	(745, 'COLUMN_CREATE', 44, 'The Dynamic columns feature was introduced in MariaDB 5.3.\n \nSyntax\n------ \nCOLUMN_CREATE(column_nr, value [as type], [column_nr, value\n[as type]]...);\nCOLUMN_CREATE(column_name, value [as type], [column_name,\nvalue [as type]]...);\n \nDescription\n----------- \nReturns a dynamic columns blob that stores the specified\ncolumns with values.\n \nThe return value is suitable for \nstoring in a table\nfurther modification with other dynamic columns functions\n \nThe as type part allows one to specify the value type. In\nmost cases,\nthis is redundant because MariaDB will be able to deduce the\ntype of the\nvalue. Explicit type specification may be needed when the\ntype of the value is\nnot apparent. For example, a literal \'2012-12-01\' has a\nCHAR type by\ndefault, one will need to specify \'2012-12-01\' AS DATE to\nhave it stored as\na date. See Dynamic Columns:Datatypes for further details.\n \nExamples\n-------- \n-- MariaDB 5.3+:\nINSERT INTO tbl SET dyncol_blob=COLUMN_CREATE(1 /*column\nid*/, "value");\n-- MariaDB 10.0.1+:\nINSERT INTO tbl SET\ndyncol_blob=COLUMN_CREATE("column_name", "value");\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/column_create/', '', 'https://mariadb.com/kb/en/column_create/'),
	(748, 'COLUMN_GET', 44, 'The Dynamic columns feature was introduced in MariaDB 5.3.\n \nSyntax\n------ \nCOLUMN_GET(dyncol_blob, column_nr as type);\nCOLUMN_GET(dyncol_blob, column_name as type);\n \nDescription\n----------- \nGets the value of a dynamic column by its name. If no column\nwith the given name exists, NULL will be returned.\n \ncolumn_name as type requires that one specify the datatype\nof the dynamic column they are reading. \n \nThis may seem counter-intuitive: why would one need to\nspecify which datatype they\'re retrieving? Can\'t the\ndynamic columns system figure the datatype from the data\nbeing stored?\n \nThe answer is: SQL is a statically-typed language. The SQL\ninterpreter needs to know the datatypes of all expressions\nbefore the query is run (for example, when one is using\nprepared statements and runs "select COLUMN_GET(...)", the\nprepared statement API requires the server to inform the\nclient about the datatype of the column being read before\nthe query is executed and the server can see what datatype\nthe column actually has).\n \nA note about lengths\n \nIf you\'re running queries like:\n \nSELECT COLUMN_GET(blob, \'colname\' as CHAR) ...\n \nwithout specifying a maximum length (i.e. using #as CHAR#,\nnot as CHAR(n)), MariaDB will report the maximum length of\nthe resultset column to be 53,6870,911 for MariaDB\n5.3-10.0.0 and 16,777,216 for MariaDB 10.0.1+. This may\ncause excessive memory usage in some client libraries,\nbecause they try to pre-allocate a buffer of maximum\nresultset width. To avoid this problem, use CHAR(n) whenever\nyou\'re using COLUMN_GET in the select list.\n \nSee Dynamic Columns:Datatypes for more information about\ndatatypes.\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/column_get/', '', 'https://mariadb.com/kb/en/column_get/'),
	(749, 'COLUMN_JSON', 44, 'COLUMN_JSON was introduced in MariaDB 10.0.1\n \nSyntax\n------ \nCOLUMN_JSON(dyncol_blob)\n \nDescription\n----------- \nReturns a JSON representation of data in dyncol_blob. Can\nalso be used to display nested columns. See dynamic columns\nfor more information.\n \nExample\n \nselect item_name, COLUMN_JSON(dynamic_cols) from assets;\n+-----------------+----------------------------------------+\n| item_name | COLUMN_JSON(dynamic_cols) |\n+-----------------+----------------------------------------+\n| MariaDB T-shirt | {"size":"XL","color":"blue"} |\n| Thinkpad Laptop | {"color":"black","warranty":"3\nyears"} |\n+-----------------+----------------------------------------+\n \nLimitation: COLUMN_JSON will decode nested dynamic columns\nat a nesting level of not more than 10 levels deep. Dynamic\ncolumns that are nested deeper than 10 levels will be shown\nas BINARY string, without encoding.\n \n\n \n \n \n \n \n \n \n\nURL: https://mariadb.com/kb/en/column_json/', '', 'https://mariadb.com/kb/en/column_json/'),
	(751, 'Instant ADD COLUMN for InnoDB', 46, 'Instant ALTER TABLE ... ADD COLUMN for InnoDB was introduced\nin MariaDB 10.3.2. The INSTANT option for the ALGORITHM\nclause was introduced in MariaDB 10.3.7.\n \nNormally, adding a column to a table requires the full table\nto be rebuilt. The complexity of the operation is\nproportional to the size of the table, or O(n·m) where n is\nthe number of rows in the table and m is the number of\nindexes. \n \nIn MariaDB 10.0 and later, the ALTER TABLE statement\nsupports online DDL for storage engines that have\nimplemented the relevant online DDL algorithms and locking\nstrategies.\n \nThe InnoDB storage engine has implemented online DDL for\nmany operations. These online DDL optimizations allow\nconcurrent DML to the table in many cases, even if the table\nneeds to be rebuilt.\n \nSee InnoDB Online DDL Overview for more information about\nonline DDL with InnoDB.\n \nAllowing concurrent DML during the operation does not solve\nall problems. When a column was added to a table with the\nolder in-place optimization, the resulting table rebuild\ncould still significantly increase the I/O and memory\nconsumption and cause replication lag.\n \nIn contrast, with the new instant ALTER TABLE ... ADD\nCOLUMN, all that is needed is an O(log n) operation to\ninsert a special hidden record into the table, and an update\nof the data dictionary. For a large table, instead of taking\nseveral hours, the operation would be completed in the blink\nof an eye. The ALTER TABLE ... ADD COLUMN operation is only\nslightly more expensive than a regular INSERT, due to\nlocking constraints.\n \nIn the past, some developers may have implemented a kind of\n"instant add column" in the application by encoding\nmultiple columns in a single TEXT or BLOB column. MariaDB\nDynamic Columns was an early example of that. A more recent\nexample is JSON and related string manipulation functions.\n \nAdding real columns has the following advantages over\nencoding columns into a single "expandable" column:\nEfficient storage in a native binary format\nData type safety\nIndexes can be built natively\nConstraints are available: UNIQUE, CHECK, FOREIGN KEY\nDEFAULT values can be specified\nTriggers can be written more easily\n \nWith instant ALTER TABLE ... ADD COLUMN, you can enjoy all\nthe benefits of structured storage without the drawback of\nhaving to rebuild the table.\n \nInstant ALTER TABLE ... ADD COLUMN is available for both old\nand new InnoDB tables. Basically you can just upgrade from\nMySQL 5.x or MariaDB and start adding columns instantly.\n \nColumns instantly added to a table exist in a separate data\nstructure from the main table definition, similar to how\nInnoDB separates BLOB columns. If the table ever becomes\nempty, (such as from TRUNCATE or DELETE statements), InnoDB\nincorporates the instantly added columns into the main table\ndefinition. See InnoDB Online DDL Operations with\nALGORITHM=INSTANT: Non-canonical Storage Format Caused by\nSome Operations for more information.\n \nThe operation is also crash safe. If the server is killed\nwhile executing an instant ALTER TABLE ... ADD COLUMN, when\nthe table is restored InnoDB integrates the new column,\nflattening the table definition.\n \nLimitations\n \nIn MariaDB 10.3, instant ALTER TABLE ... ADD COLUMN only\napplies when the added columns appear last in the table. The\nplace specifier LAST is the default. If AFTER col is\nspecified, then col must be the last column, or the\noperation will require the table to be rebuilt. In MariaDB\n10.4, this restriction has been lifted.\n \nIf the table contains a hidden FTS_DOC_ID column due to a\nFULLTEXT INDEX, then instant ALTER TABLE ... ADD COLUMN will\nnot be possible.\n \nInnoDB data files after instant ALTER TABLE ... ADD COLUMN\ncannot be imported to older versions of MariaDB or MySQL\nwithout first being rebuilt.\n \nAfter using Instant ALTER TABLE ... ADD COLUMN, any\ntable-rebuilding operation such as ALTER TABLE … FORCE\nwill incorporate instantaneously added columns into the main\ntable body.\n \nInstant ALTER TABLE ... ADD COLUMN is not available for\nROW_FORMAT=COMPRESSED.\n \nIn MariaDB 10.3, ALTER TABLE … DROP COLUMN requires the\ntable to be rebuilt. In MariaDB 10.4, this restriction has\nbeen lifted.\n \nExample\n \nCREATE TABLE t(id INT PRIMARY KEY, u INT UNSIGNED NOT NULL\nUNIQUE)\nENGINE=InnoDB;\n \nINSERT INTO t(id,u) VALUES(1,1),(2,2),(3,3);\n \nALTER TABLE t ADD COLUMN\n(d DATETIME DEFAULT current_timestamp(),\n p POINT NOT NULL DEFAULT ST_GeomFromText(\'POINT(0 0)\'),\n t TEXT CHARSET utf8 DEFAULT \'The quick brown fox jumps\nover the lazy dog\');\n \nUPDATE t SET t=NULL WHERE id=3;\n \nSELECT id,u,d,ST_AsText(p),t FROM t;\n \nSELECT variable_value FROM information_schema.global_status\nWHERE variable_name = \'innodb_instant_alter_column\';\n \nThe above example illustrates that when the added columns\nare declared NOT NULL, a DEFAULT value must be available,\neither implied by the data type or set explicitly by the\nuser. The expression need not be constant, but it must not\nrefer to the columns of the table, such as DEFAULT u+1 (a\nMariaDB extension). The DEFAULT current_timestamp() would be\nevaluated at the time of the ALTER TABLE and apply to each\nrow, like it does for non-instant ALTER TABLE. If a\nsubsequent ALTER TABLE changes the DEFAULT value for\nsubsequent INSERT, the values of the columns in existing\nrecords will naturally be unaffected.\n \nThe design was brainstormed in April by engineers from\nMariaDB Corporation, Alibaba and Tencent. A prototype was\ndeveloped by Vin Chen (陈福荣) from the Tencent Game DBA\nTeam.\n \n\n \n \n \n \n \n \n \n\nURL:\nhttps://mariadb.com/kb/en/instant-add-column-for-innodb/', '', 'https://mariadb.com/kb/en/instant-add-column-for-innodb/'),
	(752, 'Full-Text Index Overview', 48, 'MariaDB has support for full-text indexing and searching:\nA full-text index in MariaDB is an index of type FULLTEXT,\nand it allows more options when searching for portions of\ntext from a field.\nFull-text indexes can be used only with MyISAM and Aria\ntables, from MariaDB 10.0.5 with InnoDB tables and from\nMariaDB 10.0.15 with Mroonga tables, and can be created only\nfor CHAR, VARCHAR, or TEXT columns.\nPartitioned tables cannot contain fulltext indexes, even if\nthe storage engine supports them.\nA FULLTEXT index definition can be given in the CREATE TABLE\nstatement when a\n table is created, or added later using ALTER TABLE or\nCREATE INDEX.\nFor large data sets, it is much faster to load your data\ninto a table that\n has no FULLTEXT index and then create the index after that,\nthan to load data\n into a table that has an existing FULLTEXT index.\n \nFull-text searching is performed using MATCH() ... AGAINST\nsyntax.\nMATCH() takes a comma-separated list that names the columns\nto be\nsearched. AGAINST takes a string to search for, and an\noptional\nmodifier that indicates what type of search to perform. The\nsearch\nstring must be a literal string, not a variable or a column\nname.\n \nMATCH (col1,col2,...) AGAINST (expr [search_modifier])\n \nExcluded Results\n \nPartial words are excluded.\nWords less than 4 characters in length (3 or less) will not\nbe stored in the fulltext index. This value can be adjusted\nby changing the ft_min_word_length system variable (or, for\nInnoDB, innodb_ft_min_token_size).\nWords longer than 84 characters in length will also not be\nstored in the fulltext index. This values can be adjusted by\nchanging the ft_max_word_length system variable (or, for\nInnoDB, innodb_ft_max_token_size).\nStopwords are a list of common words such as "once" or\n"then" that do not reflect in the search results unless IN\nBOOLEAN MODE is used. The stopword list for MyISAM/Aria\ntables and InnoDB tables can differ. See stopwords for\ndetails and a full list, as well as for details on how to\nchange the default list.\nFor MyISAM/Aria fulltext indexes only, if a word appears in\nmore than half the rows, it is also excluded from the\nresults of a fulltext search.\nFor InnoDB indexes, only committed rows appear -\nmodifications from the current transaction do not apply.\n \nRelevance\n \nMariaDB calculates a relevance for each result, based on a\nnumber of factors, including the number of words in the\nindex, the number of unique words in a row, the total number\nof words in both the index and the result, and the weight of\nthe word. In English, \'cool\' will be weighted less than\n\'dandy\', at least at present! The relevance can be\nreturned as part of a query simply by using the MATCH\nfunction in the field list.\n \nTypes of Full-Text search\n \nIN NATURAL LANGUAGE MODE\n \nIN NATURAL LANGUAGE MODE is the default type of full-text\nsearch, and the keywords can be omitted. There are no\nspecial operators, and searches consist of one or more\ncomma-separated keywords.\n \nSearches are returned in descending order of relevance.\n \nIN BOOLEAN MODE\n \nBoolean search permits the use of a number of special\noperators:\n \nOperator | Description | \n \n+ | The word is mandatory in all rows returned. | \n \n- | The word cannot appear in any row returned. | \n \n< | The word that follows has a lower relevance than other\nwords, although rows containing it will still match | \n \n> | The word that follows has a higher relevance than other\nwords. | \n \n() | Used to group words into subexpressions. | \n \n~ | The word following contributes negatively to the\nrelevance of the row (which is different to the \'-\'\noperator, which specifically excludes the word, or the \'\n\nURL: https://mariadb.com/kb/en/full-text-index-overview/', '', 'https://mariadb.com/kb/en/full-text-index-overview/');

-- Dumping structure for table mysql.index_stats
CREATE TABLE IF NOT EXISTS `index_stats` (
  `db_name` varchar(64) NOT NULL,
  `table_name` varchar(64) NOT NULL,
  `index_name` varchar(64) NOT NULL,
  `prefix_arity` int(11) unsigned NOT NULL,
  `avg_frequency` decimal(12,4) DEFAULT NULL,
  PRIMARY KEY (`db_name`,`table_name`,`index_name`,`prefix_arity`)
) ENGINE=Aria DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1 TRANSACTIONAL=0 COMMENT='Statistics on Indexes';

-- Dumping data for table mysql.index_stats: 0 rows

-- Dumping structure for table mysql.innodb_index_stats
CREATE TABLE IF NOT EXISTS `innodb_index_stats` (
  `database_name` varchar(64) NOT NULL,
  `table_name` varchar(199) NOT NULL,
  `index_name` varchar(64) NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `stat_name` varchar(64) NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

-- Dumping data for table mysql.innodb_index_stats: ~1,262 rows (approximately)
INSERT INTO `innodb_index_stats` (`database_name`, `table_name`, `index_name`, `last_update`, `stat_name`, `stat_value`, `sample_size`, `stat_description`) VALUES
	('anime_db', 'anime', 'PRIMARY', '2025-03-13 12:24:07', 'n_diff_pfx01', 2, 1, 'id'),
	('anime_db', 'anime', 'PRIMARY', '2025-03-13 12:24:07', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('anime_db', 'anime', 'PRIMARY', '2025-03-13 12:24:07', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'id'),
	('animelist', 'anime', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_genres', 'FK_anime_genres_anime', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'anime_id'),
	('animelist', 'anime_genres', 'FK_anime_genres_anime', '2025-03-13 12:24:13', 'n_diff_pfx02', 34, 1, 'anime_id,id'),
	('animelist', 'anime_genres', 'FK_anime_genres_anime', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_genres', 'FK_anime_genres_anime', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_genres', 'FK_anime_genres_genre', '2025-03-13 12:24:13', 'n_diff_pfx01', 13, 1, 'genre_id'),
	('animelist', 'anime_genres', 'FK_anime_genres_genre', '2025-03-13 12:24:13', 'n_diff_pfx02', 34, 1, 'genre_id,id'),
	('animelist', 'anime_genres', 'FK_anime_genres_genre', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_genres', 'FK_anime_genres_genre', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_genres', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 34, 1, 'id'),
	('animelist', 'anime_genres', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_genres', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_anime', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'anime_id'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_anime', '2025-03-13 12:24:13', 'n_diff_pfx02', 15, 1, 'anime_id,id'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_anime', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_anime', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_licensor', '2025-03-13 12:24:13', 'n_diff_pfx01', 5, 1, 'licensor_id'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_licensor', '2025-03-13 12:24:13', 'n_diff_pfx02', 15, 1, 'licensor_id,id'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_licensor', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_licensor', 'FK_anime_licensor_licensor', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_licensor', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'id'),
	('animelist', 'anime_licensor', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_licensor', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_studio', 'FK_anime_studio_anime', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'anime_id'),
	('animelist', 'anime_studio', 'FK_anime_studio_anime', '2025-03-13 12:24:13', 'n_diff_pfx02', 15, 1, 'anime_id,id'),
	('animelist', 'anime_studio', 'FK_anime_studio_anime', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_studio', 'FK_anime_studio_anime', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_studio', 'FK_anime_studio_studio', '2025-03-13 12:24:13', 'n_diff_pfx01', 12, 1, 'studio_id'),
	('animelist', 'anime_studio', 'FK_anime_studio_studio', '2025-03-13 12:24:13', 'n_diff_pfx02', 15, 1, 'studio_id,id'),
	('animelist', 'anime_studio', 'FK_anime_studio_studio', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_studio', 'FK_anime_studio_studio', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'anime_studio', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'id'),
	('animelist', 'anime_studio', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'anime_studio', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'episode', 'FK_episode_anime', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'anime_id'),
	('animelist', 'episode', 'FK_episode_anime', '2025-03-13 12:24:13', 'n_diff_pfx02', 15, 1, 'anime_id,id'),
	('animelist', 'episode', 'FK_episode_anime', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'episode', 'FK_episode_anime', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'episode', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 15, 1, 'id'),
	('animelist', 'episode', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'episode', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'genre', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 13, 1, 'id'),
	('animelist', 'genre', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'genre', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'licensor', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 5, 1, 'id'),
	('animelist', 'licensor', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'licensor', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'studio', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 12, 1, 'id'),
	('animelist', 'studio', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'studio', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'users', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 11, 1, 'id'),
	('animelist', 'users', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'users', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'users_anime', 'FK_anime_users_anime', '2025-03-13 12:24:13', 'n_diff_pfx01', 10, 1, 'users_list_id'),
	('animelist', 'users_anime', 'FK_anime_users_anime', '2025-03-13 12:24:13', 'n_diff_pfx02', 10, 1, 'users_list_id,id'),
	('animelist', 'users_anime', 'FK_anime_users_anime', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'users_anime', 'FK_anime_users_anime', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'users_anime', 'FK_anime_users_users', '2025-03-13 12:24:13', 'n_diff_pfx01', 3, 1, 'users_id'),
	('animelist', 'users_anime', 'FK_anime_users_users', '2025-03-13 12:24:13', 'n_diff_pfx02', 10, 1, 'users_id,id'),
	('animelist', 'users_anime', 'FK_anime_users_users', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'users_anime', 'FK_anime_users_users', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'users_anime', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 10, 1, 'id'),
	('animelist', 'users_anime', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'users_anime', 'PRIMARY', '2025-03-13 12:24:13', 'size', 1, NULL, 'Number of pages in the index'),
	('animelist', 'users_list', 'PRIMARY', '2025-03-13 12:24:13', 'n_diff_pfx01', 10, 1, 'id'),
	('animelist', 'users_list', 'PRIMARY', '2025-03-13 12:24:13', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('animelist', 'users_list', 'PRIMARY', '2025-03-13 12:24:13', 'size', 2, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'meta_id'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_id'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_id,meta_id'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'meta_key'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'meta_key,meta_id'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_approved'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_approved,comment_date_gmt'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx03', 0, 1, 'comment_approved,comment_date_gmt,comment_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_author_email'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_author_email,comment_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_date_gmt'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_date_gmt,comment_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_parent'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_parent,comment_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_post_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_post_ID,comment_ID'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_links', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'link_id'),
	('bootstrapprakseraivis', 'wp_links', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_links', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_links', 'link_visible', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'link_visible'),
	('bootstrapprakseraivis', 'wp_links', 'link_visible', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'link_visible,link_id'),
	('bootstrapprakseraivis', 'wp_links', 'link_visible', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_links', 'link_visible', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_options', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 150, 3, 'option_id'),
	('bootstrapprakseraivis', 'wp_options', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_options', 'PRIMARY', '2025-06-17 13:31:42', 'size', 69, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_options', 'autoload', '2025-06-17 13:31:42', 'n_diff_pfx01', 3, 1, 'autoload'),
	('bootstrapprakseraivis', 'wp_options', 'autoload', '2025-06-17 13:31:42', 'n_diff_pfx02', 150, 1, 'autoload,option_id'),
	('bootstrapprakseraivis', 'wp_options', 'autoload', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_options', 'autoload', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_options', 'option_name', '2025-06-17 13:31:42', 'n_diff_pfx01', 150, 1, 'option_name'),
	('bootstrapprakseraivis', 'wp_options', 'option_name', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_options', 'option_name', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_postmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 165, 2, 'meta_id'),
	('bootstrapprakseraivis', 'wp_postmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_postmeta', 'PRIMARY', '2025-06-17 13:31:42', 'size', 3, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx01', 19, 1, 'meta_key'),
	('bootstrapprakseraivis', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx02', 165, 1, 'meta_key,meta_id'),
	('bootstrapprakseraivis', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_postmeta', 'post_id', '2025-06-17 13:31:42', 'n_diff_pfx01', 42, 1, 'post_id'),
	('bootstrapprakseraivis', 'wp_postmeta', 'post_id', '2025-06-17 13:31:42', 'n_diff_pfx02', 165, 1, 'post_id,meta_id'),
	('bootstrapprakseraivis', 'wp_postmeta', 'post_id', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_postmeta', 'post_id', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 91, 4, 'ID'),
	('bootstrapprakseraivis', 'wp_posts', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'PRIMARY', '2025-06-17 13:31:42', 'size', 5, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'post_author', '2025-06-17 13:31:42', 'n_diff_pfx01', 2, 1, 'post_author'),
	('bootstrapprakseraivis', 'wp_posts', 'post_author', '2025-06-17 13:31:42', 'n_diff_pfx02', 91, 1, 'post_author,ID'),
	('bootstrapprakseraivis', 'wp_posts', 'post_author', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'post_author', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'post_name', '2025-06-17 13:31:42', 'n_diff_pfx01', 51, 1, 'post_name'),
	('bootstrapprakseraivis', 'wp_posts', 'post_name', '2025-06-17 13:31:42', 'n_diff_pfx02', 91, 1, 'post_name,ID'),
	('bootstrapprakseraivis', 'wp_posts', 'post_name', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'post_name', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'post_parent', '2025-06-17 13:31:42', 'n_diff_pfx01', 12, 1, 'post_parent'),
	('bootstrapprakseraivis', 'wp_posts', 'post_parent', '2025-06-17 13:31:42', 'n_diff_pfx02', 91, 1, 'post_parent,ID'),
	('bootstrapprakseraivis', 'wp_posts', 'post_parent', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'post_parent', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'type_status_date', '2025-06-17 13:31:42', 'n_diff_pfx01', 9, 1, 'post_type'),
	('bootstrapprakseraivis', 'wp_posts', 'type_status_date', '2025-06-17 13:31:42', 'n_diff_pfx02', 9, 1, 'post_type,post_status'),
	('bootstrapprakseraivis', 'wp_posts', 'type_status_date', '2025-06-17 13:31:42', 'n_diff_pfx03', 87, 1, 'post_type,post_status,post_date'),
	('bootstrapprakseraivis', 'wp_posts', 'type_status_date', '2025-06-17 13:31:42', 'n_diff_pfx04', 91, 1, 'post_type,post_status,post_date,ID'),
	('bootstrapprakseraivis', 'wp_posts', 'type_status_date', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_posts', 'type_status_date', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 20, 1, 'object_id'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx02', 40, 1, 'object_id,term_taxonomy_id'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:42', 'n_diff_pfx01', 9, 1, 'term_taxonomy_id'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:42', 'n_diff_pfx02', 40, 1, 'term_taxonomy_id,object_id'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 11, 1, 'term_taxonomy_id'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:42', 'n_diff_pfx01', 3, 1, 'taxonomy'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:42', 'n_diff_pfx02', 11, 1, 'taxonomy,term_taxonomy_id'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:42', 'n_diff_pfx01', 11, 1, 'term_id'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:42', 'n_diff_pfx02', 11, 1, 'term_id,taxonomy'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_termmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'meta_id'),
	('bootstrapprakseraivis', 'wp_termmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_termmeta', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'meta_key'),
	('bootstrapprakseraivis', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'meta_key,meta_id'),
	('bootstrapprakseraivis', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_termmeta', 'term_id', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'term_id'),
	('bootstrapprakseraivis', 'wp_termmeta', 'term_id', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'term_id,meta_id'),
	('bootstrapprakseraivis', 'wp_termmeta', 'term_id', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_termmeta', 'term_id', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_terms', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 11, 1, 'term_id'),
	('bootstrapprakseraivis', 'wp_terms', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_terms', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_terms', 'name', '2025-06-17 13:31:42', 'n_diff_pfx01', 7, 1, 'name'),
	('bootstrapprakseraivis', 'wp_terms', 'name', '2025-06-17 13:31:42', 'n_diff_pfx02', 11, 1, 'name,term_id'),
	('bootstrapprakseraivis', 'wp_terms', 'name', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_terms', 'name', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_terms', 'slug', '2025-06-17 13:31:42', 'n_diff_pfx01', 7, 1, 'slug'),
	('bootstrapprakseraivis', 'wp_terms', 'slug', '2025-06-17 13:31:42', 'n_diff_pfx02', 11, 1, 'slug,term_id'),
	('bootstrapprakseraivis', 'wp_terms', 'slug', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_terms', 'slug', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_usermeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 30, 1, 'umeta_id'),
	('bootstrapprakseraivis', 'wp_usermeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_usermeta', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx01', 30, 1, 'meta_key'),
	('bootstrapprakseraivis', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx02', 30, 1, 'meta_key,umeta_id'),
	('bootstrapprakseraivis', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_usermeta', 'user_id', '2025-06-17 13:31:42', 'n_diff_pfx01', 1, 1, 'user_id'),
	('bootstrapprakseraivis', 'wp_usermeta', 'user_id', '2025-06-17 13:31:42', 'n_diff_pfx02', 30, 1, 'user_id,umeta_id'),
	('bootstrapprakseraivis', 'wp_usermeta', 'user_id', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_usermeta', 'user_id', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 1, 1, 'ID'),
	('bootstrapprakseraivis', 'wp_users', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'user_email', '2025-06-17 13:31:42', 'n_diff_pfx01', 1, 1, 'user_email'),
	('bootstrapprakseraivis', 'wp_users', 'user_email', '2025-06-17 13:31:42', 'n_diff_pfx02', 1, 1, 'user_email,ID'),
	('bootstrapprakseraivis', 'wp_users', 'user_email', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'user_email', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'user_login_key', '2025-06-17 13:31:42', 'n_diff_pfx01', 1, 1, 'user_login'),
	('bootstrapprakseraivis', 'wp_users', 'user_login_key', '2025-06-17 13:31:42', 'n_diff_pfx02', 1, 1, 'user_login,ID'),
	('bootstrapprakseraivis', 'wp_users', 'user_login_key', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'user_login_key', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'user_nicename', '2025-06-17 13:31:42', 'n_diff_pfx01', 1, 1, 'user_nicename'),
	('bootstrapprakseraivis', 'wp_users', 'user_nicename', '2025-06-17 13:31:42', 'n_diff_pfx02', 1, 1, 'user_nicename,ID'),
	('bootstrapprakseraivis', 'wp_users', 'user_nicename', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrapprakseraivis', 'wp_users', 'user_nicename', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'meta_id'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_id'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_id,meta_id'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'comment_id', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'meta_key'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'meta_key,meta_id'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_commentmeta', 'meta_key', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'PRIMARY', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'PRIMARY', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'PRIMARY', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_approved'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_approved,comment_date_gmt'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx03', 0, 1, 'comment_approved,comment_date_gmt,comment_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_approved_date_gmt', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_author_email'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_author_email,comment_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_author_email', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_date_gmt'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_date_gmt,comment_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_date_gmt', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_parent'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_parent,comment_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_parent', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'n_diff_pfx01', 0, 1, 'comment_post_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'n_diff_pfx02', 0, 1, 'comment_post_ID,comment_ID'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_comments', 'comment_post_ID', '2025-06-17 13:31:42', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_links', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 0, 1, 'link_id'),
	('bootstrappraksewordpress', 'wp_links', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_links', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_links', 'link_visible', '2025-06-17 13:31:43', 'n_diff_pfx01', 0, 1, 'link_visible'),
	('bootstrappraksewordpress', 'wp_links', 'link_visible', '2025-06-17 13:31:43', 'n_diff_pfx02', 0, 1, 'link_visible,link_id'),
	('bootstrappraksewordpress', 'wp_links', 'link_visible', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_links', 'link_visible', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_options', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 143, 2, 'option_id'),
	('bootstrappraksewordpress', 'wp_options', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_options', 'PRIMARY', '2025-06-17 13:31:43', 'size', 69, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_options', 'autoload', '2025-06-17 13:31:43', 'n_diff_pfx01', 3, 1, 'autoload'),
	('bootstrappraksewordpress', 'wp_options', 'autoload', '2025-06-17 13:31:43', 'n_diff_pfx02', 143, 1, 'autoload,option_id'),
	('bootstrappraksewordpress', 'wp_options', 'autoload', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_options', 'autoload', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_options', 'option_name', '2025-06-17 13:31:43', 'n_diff_pfx01', 143, 1, 'option_name'),
	('bootstrappraksewordpress', 'wp_options', 'option_name', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_options', 'option_name', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_postmeta', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 37, 1, 'meta_id'),
	('bootstrappraksewordpress', 'wp_postmeta', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_postmeta', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:43', 'n_diff_pfx01', 7, 1, 'meta_key'),
	('bootstrappraksewordpress', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:43', 'n_diff_pfx02', 37, 1, 'meta_key,meta_id'),
	('bootstrappraksewordpress', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_postmeta', 'meta_key', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_postmeta', 'post_id', '2025-06-17 13:31:43', 'n_diff_pfx01', 18, 1, 'post_id'),
	('bootstrappraksewordpress', 'wp_postmeta', 'post_id', '2025-06-17 13:31:43', 'n_diff_pfx02', 37, 1, 'post_id,meta_id'),
	('bootstrappraksewordpress', 'wp_postmeta', 'post_id', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_postmeta', 'post_id', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 35, 1, 'ID'),
	('bootstrappraksewordpress', 'wp_posts', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'post_author', '2025-06-17 13:31:43', 'n_diff_pfx01', 2, 1, 'post_author'),
	('bootstrappraksewordpress', 'wp_posts', 'post_author', '2025-06-17 13:31:43', 'n_diff_pfx02', 35, 1, 'post_author,ID'),
	('bootstrappraksewordpress', 'wp_posts', 'post_author', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'post_author', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'post_name', '2025-06-17 13:31:43', 'n_diff_pfx01', 28, 1, 'post_name'),
	('bootstrappraksewordpress', 'wp_posts', 'post_name', '2025-06-17 13:31:43', 'n_diff_pfx02', 35, 1, 'post_name,ID'),
	('bootstrappraksewordpress', 'wp_posts', 'post_name', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'post_name', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'post_parent', '2025-06-17 13:31:43', 'n_diff_pfx01', 9, 1, 'post_parent'),
	('bootstrappraksewordpress', 'wp_posts', 'post_parent', '2025-06-17 13:31:43', 'n_diff_pfx02', 35, 1, 'post_parent,ID'),
	('bootstrappraksewordpress', 'wp_posts', 'post_parent', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'post_parent', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'type_status_date', '2025-06-17 13:31:43', 'n_diff_pfx01', 6, 1, 'post_type'),
	('bootstrappraksewordpress', 'wp_posts', 'type_status_date', '2025-06-17 13:31:43', 'n_diff_pfx02', 6, 1, 'post_type,post_status'),
	('bootstrappraksewordpress', 'wp_posts', 'type_status_date', '2025-06-17 13:31:43', 'n_diff_pfx03', 33, 1, 'post_type,post_status,post_date'),
	('bootstrappraksewordpress', 'wp_posts', 'type_status_date', '2025-06-17 13:31:43', 'n_diff_pfx04', 35, 1, 'post_type,post_status,post_date,ID'),
	('bootstrappraksewordpress', 'wp_posts', 'type_status_date', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_posts', 'type_status_date', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 4, 1, 'object_id'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx02', 9, 1, 'object_id,term_taxonomy_id'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:43', 'n_diff_pfx01', 5, 1, 'term_taxonomy_id'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:43', 'n_diff_pfx02', 9, 1, 'term_taxonomy_id,object_id'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_term_relationships', 'term_taxonomy_id', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 6, 1, 'term_taxonomy_id'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:43', 'n_diff_pfx01', 2, 1, 'taxonomy'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:43', 'n_diff_pfx02', 6, 1, 'taxonomy,term_taxonomy_id'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'taxonomy', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:43', 'n_diff_pfx01', 6, 1, 'term_id'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:43', 'n_diff_pfx02', 6, 1, 'term_id,taxonomy'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_termmeta', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 0, 1, 'meta_id'),
	('bootstrappraksewordpress', 'wp_termmeta', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_termmeta', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:43', 'n_diff_pfx01', 0, 1, 'meta_key'),
	('bootstrappraksewordpress', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:43', 'n_diff_pfx02', 0, 1, 'meta_key,meta_id'),
	('bootstrappraksewordpress', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_termmeta', 'meta_key', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_termmeta', 'term_id', '2025-06-17 13:31:43', 'n_diff_pfx01', 0, 1, 'term_id'),
	('bootstrappraksewordpress', 'wp_termmeta', 'term_id', '2025-06-17 13:31:43', 'n_diff_pfx02', 0, 1, 'term_id,meta_id'),
	('bootstrappraksewordpress', 'wp_termmeta', 'term_id', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_termmeta', 'term_id', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_terms', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 6, 1, 'term_id'),
	('bootstrappraksewordpress', 'wp_terms', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_terms', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_terms', 'name', '2025-06-17 13:31:43', 'n_diff_pfx01', 6, 1, 'name'),
	('bootstrappraksewordpress', 'wp_terms', 'name', '2025-06-17 13:31:43', 'n_diff_pfx02', 6, 1, 'name,term_id'),
	('bootstrappraksewordpress', 'wp_terms', 'name', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_terms', 'name', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_terms', 'slug', '2025-06-17 13:31:43', 'n_diff_pfx01', 6, 1, 'slug'),
	('bootstrappraksewordpress', 'wp_terms', 'slug', '2025-06-17 13:31:43', 'n_diff_pfx02', 6, 1, 'slug,term_id'),
	('bootstrappraksewordpress', 'wp_terms', 'slug', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_terms', 'slug', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_usermeta', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 21, 1, 'umeta_id'),
	('bootstrappraksewordpress', 'wp_usermeta', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_usermeta', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:43', 'n_diff_pfx01', 21, 1, 'meta_key'),
	('bootstrappraksewordpress', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:43', 'n_diff_pfx02', 21, 1, 'meta_key,umeta_id'),
	('bootstrappraksewordpress', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_usermeta', 'meta_key', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_usermeta', 'user_id', '2025-06-17 13:31:43', 'n_diff_pfx01', 1, 1, 'user_id'),
	('bootstrappraksewordpress', 'wp_usermeta', 'user_id', '2025-06-17 13:31:43', 'n_diff_pfx02', 21, 1, 'user_id,umeta_id'),
	('bootstrappraksewordpress', 'wp_usermeta', 'user_id', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_usermeta', 'user_id', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'PRIMARY', '2025-06-17 13:31:43', 'n_diff_pfx01', 1, 1, 'ID'),
	('bootstrappraksewordpress', 'wp_users', 'PRIMARY', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'PRIMARY', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'user_email', '2025-06-17 13:31:43', 'n_diff_pfx01', 1, 1, 'user_email'),
	('bootstrappraksewordpress', 'wp_users', 'user_email', '2025-06-17 13:31:43', 'n_diff_pfx02', 1, 1, 'user_email,ID'),
	('bootstrappraksewordpress', 'wp_users', 'user_email', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'user_email', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'user_login_key', '2025-06-17 13:31:43', 'n_diff_pfx01', 1, 1, 'user_login'),
	('bootstrappraksewordpress', 'wp_users', 'user_login_key', '2025-06-17 13:31:43', 'n_diff_pfx02', 1, 1, 'user_login,ID'),
	('bootstrappraksewordpress', 'wp_users', 'user_login_key', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'user_login_key', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'user_nicename', '2025-06-17 13:31:43', 'n_diff_pfx01', 1, 1, 'user_nicename'),
	('bootstrappraksewordpress', 'wp_users', 'user_nicename', '2025-06-17 13:31:43', 'n_diff_pfx02', 1, 1, 'user_nicename,ID'),
	('bootstrappraksewordpress', 'wp_users', 'user_nicename', '2025-06-17 13:31:43', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('bootstrappraksewordpress', 'wp_users', 'user_nicename', '2025-06-17 13:31:43', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_commentmeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'meta_id'),
	('database_prakse', 'wp_commentmeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_commentmeta', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_commentmeta', 'comment_id', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'comment_id'),
	('database_prakse', 'wp_commentmeta', 'comment_id', '2025-03-13 18:58:51', 'n_diff_pfx02', 0, 1, 'comment_id,meta_id'),
	('database_prakse', 'wp_commentmeta', 'comment_id', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_commentmeta', 'comment_id', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_commentmeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'meta_key'),
	('database_prakse', 'wp_commentmeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx02', 0, 1, 'meta_key,meta_id'),
	('database_prakse', 'wp_commentmeta', 'meta_key', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_commentmeta', 'meta_key', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_comments', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'comment_ID'),
	('database_prakse', 'wp_comments', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_comments', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_comments', 'comment_approved_date_gmt', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'comment_approved'),
	('database_prakse', 'wp_comments', 'comment_approved_date_gmt', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'comment_approved,comment_date_gmt'),
	('database_prakse', 'wp_comments', 'comment_approved_date_gmt', '2025-03-13 18:58:51', 'n_diff_pfx03', 1, 1, 'comment_approved,comment_date_gmt,comment_ID'),
	('database_prakse', 'wp_comments', 'comment_approved_date_gmt', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_comments', 'comment_approved_date_gmt', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_comments', 'comment_author_email', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'comment_author_email'),
	('database_prakse', 'wp_comments', 'comment_author_email', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'comment_author_email,comment_ID'),
	('database_prakse', 'wp_comments', 'comment_author_email', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_comments', 'comment_author_email', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_comments', 'comment_date_gmt', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'comment_date_gmt'),
	('database_prakse', 'wp_comments', 'comment_date_gmt', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'comment_date_gmt,comment_ID'),
	('database_prakse', 'wp_comments', 'comment_date_gmt', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_comments', 'comment_date_gmt', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_comments', 'comment_parent', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'comment_parent'),
	('database_prakse', 'wp_comments', 'comment_parent', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'comment_parent,comment_ID'),
	('database_prakse', 'wp_comments', 'comment_parent', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_comments', 'comment_parent', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_comments', 'comment_post_ID', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'comment_post_ID'),
	('database_prakse', 'wp_comments', 'comment_post_ID', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'comment_post_ID,comment_ID'),
	('database_prakse', 'wp_comments', 'comment_post_ID', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_comments', 'comment_post_ID', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_links', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'link_id'),
	('database_prakse', 'wp_links', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_links', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_links', 'link_visible', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'link_visible'),
	('database_prakse', 'wp_links', 'link_visible', '2025-03-13 18:58:51', 'n_diff_pfx02', 0, 1, 'link_visible,link_id'),
	('database_prakse', 'wp_links', 'link_visible', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_links', 'link_visible', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_options', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 139, 3, 'option_id'),
	('database_prakse', 'wp_options', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_options', 'PRIMARY', '2025-03-13 18:58:51', 'size', 69, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_options', 'autoload', '2025-03-13 18:58:51', 'n_diff_pfx01', 2, 1, 'autoload'),
	('database_prakse', 'wp_options', 'autoload', '2025-03-13 18:58:51', 'n_diff_pfx02', 139, 1, 'autoload,option_id'),
	('database_prakse', 'wp_options', 'autoload', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_options', 'autoload', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_options', 'option_name', '2025-03-13 18:58:51', 'n_diff_pfx01', 139, 1, 'option_name'),
	('database_prakse', 'wp_options', 'option_name', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_options', 'option_name', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_postmeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 72, 1, 'meta_id'),
	('database_prakse', 'wp_postmeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_postmeta', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_postmeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx01', 17, 1, 'meta_key'),
	('database_prakse', 'wp_postmeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx02', 72, 1, 'meta_key,meta_id'),
	('database_prakse', 'wp_postmeta', 'meta_key', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_postmeta', 'meta_key', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_postmeta', 'post_id', '2025-03-13 18:58:51', 'n_diff_pfx01', 17, 1, 'post_id'),
	('database_prakse', 'wp_postmeta', 'post_id', '2025-03-13 18:58:51', 'n_diff_pfx02', 72, 1, 'post_id,meta_id'),
	('database_prakse', 'wp_postmeta', 'post_id', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_postmeta', 'post_id', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_posts', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 30, 2, 'ID'),
	('database_prakse', 'wp_posts', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_posts', 'PRIMARY', '2025-03-13 18:58:51', 'size', 3, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_posts', 'post_author', '2025-03-13 18:58:51', 'n_diff_pfx01', 2, 1, 'post_author'),
	('database_prakse', 'wp_posts', 'post_author', '2025-03-13 18:58:51', 'n_diff_pfx02', 30, 1, 'post_author,ID'),
	('database_prakse', 'wp_posts', 'post_author', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_posts', 'post_author', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_posts', 'post_name', '2025-03-13 18:58:51', 'n_diff_pfx01', 24, 1, 'post_name'),
	('database_prakse', 'wp_posts', 'post_name', '2025-03-13 18:58:51', 'n_diff_pfx02', 30, 1, 'post_name,ID'),
	('database_prakse', 'wp_posts', 'post_name', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_posts', 'post_name', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_posts', 'post_parent', '2025-03-13 18:58:51', 'n_diff_pfx01', 6, 1, 'post_parent'),
	('database_prakse', 'wp_posts', 'post_parent', '2025-03-13 18:58:51', 'n_diff_pfx02', 30, 1, 'post_parent,ID'),
	('database_prakse', 'wp_posts', 'post_parent', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_posts', 'post_parent', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_posts', 'type_status_date', '2025-03-13 18:58:51', 'n_diff_pfx01', 6, 1, 'post_type'),
	('database_prakse', 'wp_posts', 'type_status_date', '2025-03-13 18:58:51', 'n_diff_pfx02', 8, 1, 'post_type,post_status'),
	('database_prakse', 'wp_posts', 'type_status_date', '2025-03-13 18:58:51', 'n_diff_pfx03', 25, 1, 'post_type,post_status,post_date'),
	('database_prakse', 'wp_posts', 'type_status_date', '2025-03-13 18:58:51', 'n_diff_pfx04', 30, 1, 'post_type,post_status,post_date,ID'),
	('database_prakse', 'wp_posts', 'type_status_date', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_posts', 'type_status_date', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_term_relationships', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 7, 1, 'object_id'),
	('database_prakse', 'wp_term_relationships', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx02', 7, 1, 'object_id,term_taxonomy_id'),
	('database_prakse', 'wp_term_relationships', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_term_relationships', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_term_relationships', 'term_taxonomy_id', '2025-03-13 18:58:51', 'n_diff_pfx01', 2, 1, 'term_taxonomy_id'),
	('database_prakse', 'wp_term_relationships', 'term_taxonomy_id', '2025-03-13 18:58:51', 'n_diff_pfx02', 7, 1, 'term_taxonomy_id,object_id'),
	('database_prakse', 'wp_term_relationships', 'term_taxonomy_id', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_term_relationships', 'term_taxonomy_id', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_term_taxonomy', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 3, 1, 'term_taxonomy_id'),
	('database_prakse', 'wp_term_taxonomy', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_term_taxonomy', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_term_taxonomy', 'taxonomy', '2025-03-13 18:58:51', 'n_diff_pfx01', 2, 1, 'taxonomy'),
	('database_prakse', 'wp_term_taxonomy', 'taxonomy', '2025-03-13 18:58:51', 'n_diff_pfx02', 3, 1, 'taxonomy,term_taxonomy_id'),
	('database_prakse', 'wp_term_taxonomy', 'taxonomy', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_term_taxonomy', 'taxonomy', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-03-13 18:58:51', 'n_diff_pfx01', 3, 1, 'term_id'),
	('database_prakse', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-03-13 18:58:51', 'n_diff_pfx02', 3, 1, 'term_id,taxonomy'),
	('database_prakse', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_term_taxonomy', 'term_id_taxonomy', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_termmeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'meta_id'),
	('database_prakse', 'wp_termmeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_termmeta', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_termmeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'meta_key'),
	('database_prakse', 'wp_termmeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx02', 0, 1, 'meta_key,meta_id'),
	('database_prakse', 'wp_termmeta', 'meta_key', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_termmeta', 'meta_key', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_termmeta', 'term_id', '2025-03-13 18:58:51', 'n_diff_pfx01', 0, 1, 'term_id'),
	('database_prakse', 'wp_termmeta', 'term_id', '2025-03-13 18:58:51', 'n_diff_pfx02', 0, 1, 'term_id,meta_id'),
	('database_prakse', 'wp_termmeta', 'term_id', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_termmeta', 'term_id', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_terms', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 3, 1, 'term_id'),
	('database_prakse', 'wp_terms', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_terms', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_terms', 'name', '2025-03-13 18:58:51', 'n_diff_pfx01', 3, 1, 'name'),
	('database_prakse', 'wp_terms', 'name', '2025-03-13 18:58:51', 'n_diff_pfx02', 3, 1, 'name,term_id'),
	('database_prakse', 'wp_terms', 'name', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_terms', 'name', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_terms', 'slug', '2025-03-13 18:58:51', 'n_diff_pfx01', 3, 1, 'slug'),
	('database_prakse', 'wp_terms', 'slug', '2025-03-13 18:58:51', 'n_diff_pfx02', 3, 1, 'slug,term_id'),
	('database_prakse', 'wp_terms', 'slug', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_terms', 'slug', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_usermeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 23, 1, 'umeta_id'),
	('database_prakse', 'wp_usermeta', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_usermeta', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_usermeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx01', 23, 1, 'meta_key'),
	('database_prakse', 'wp_usermeta', 'meta_key', '2025-03-13 18:58:51', 'n_diff_pfx02', 23, 1, 'meta_key,umeta_id'),
	('database_prakse', 'wp_usermeta', 'meta_key', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_usermeta', 'meta_key', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_usermeta', 'user_id', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'user_id'),
	('database_prakse', 'wp_usermeta', 'user_id', '2025-03-13 18:58:51', 'n_diff_pfx02', 23, 1, 'user_id,umeta_id'),
	('database_prakse', 'wp_usermeta', 'user_id', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_usermeta', 'user_id', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_users', 'PRIMARY', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'ID'),
	('database_prakse', 'wp_users', 'PRIMARY', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_users', 'PRIMARY', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_users', 'user_email', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'user_email'),
	('database_prakse', 'wp_users', 'user_email', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'user_email,ID'),
	('database_prakse', 'wp_users', 'user_email', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_users', 'user_email', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_users', 'user_login_key', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'user_login'),
	('database_prakse', 'wp_users', 'user_login_key', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'user_login,ID'),
	('database_prakse', 'wp_users', 'user_login_key', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_users', 'user_login_key', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('database_prakse', 'wp_users', 'user_nicename', '2025-03-13 18:58:51', 'n_diff_pfx01', 1, 1, 'user_nicename'),
	('database_prakse', 'wp_users', 'user_nicename', '2025-03-13 18:58:51', 'n_diff_pfx02', 1, 1, 'user_nicename,ID'),
	('database_prakse', 'wp_users', 'user_nicename', '2025-03-13 18:58:51', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('database_prakse', 'wp_users', 'user_nicename', '2025-03-13 18:58:51', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'category', 'PRIMARY', '2025-03-14 09:57:14', 'n_diff_pfx01', 7, 1, 'id'),
	('materialwork', 'category', 'PRIMARY', '2025-03-14 09:57:14', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'category', 'PRIMARY', '2025-03-14 09:57:14', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'material', 'FK_material_category_2', '2025-03-14 09:58:45', 'n_diff_pfx01', 7, 1, 'category_id'),
	('materialwork', 'material', 'FK_material_category_2', '2025-03-14 09:58:45', 'n_diff_pfx02', 75, 1, 'category_id,id'),
	('materialwork', 'material', 'FK_material_category_2', '2025-03-14 09:58:45', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'material', 'FK_material_category_2', '2025-03-14 09:58:45', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'material', 'FK_material_unit', '2025-03-14 09:58:45', 'n_diff_pfx01', 3, 1, 'unit_id'),
	('materialwork', 'material', 'FK_material_unit', '2025-03-14 09:58:45', 'n_diff_pfx02', 75, 1, 'unit_id,id'),
	('materialwork', 'material', 'FK_material_unit', '2025-03-14 09:58:45', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'material', 'FK_material_unit', '2025-03-14 09:58:45', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'material', 'PRIMARY', '2025-03-14 09:58:45', 'n_diff_pfx01', 75, 1, 'id'),
	('materialwork', 'material', 'PRIMARY', '2025-03-14 09:58:45', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'material', 'PRIMARY', '2025-03-14 09:58:45', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'unit', 'PRIMARY', '2025-03-14 09:55:00', 'n_diff_pfx01', 6, 1, 'id'),
	('materialwork', 'unit', 'PRIMARY', '2025-03-14 09:55:00', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'unit', 'PRIMARY', '2025-03-14 09:55:00', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'wcategory', 'PRIMARY', '2025-03-14 09:56:00', 'n_diff_pfx01', 2, 1, 'id'),
	('materialwork', 'wcategory', 'PRIMARY', '2025-03-14 09:56:00', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'wcategory', 'PRIMARY', '2025-03-14 09:56:00', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'work', 'FK_work_unit', '2025-03-14 10:18:37', 'n_diff_pfx01', 7, 1, 'unit_id'),
	('materialwork', 'work', 'FK_work_unit', '2025-03-14 10:18:37', 'n_diff_pfx02', 82, 1, 'unit_id,id'),
	('materialwork', 'work', 'FK_work_unit', '2025-03-14 10:18:37', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'work', 'FK_work_unit', '2025-03-14 10:18:37', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'work', 'FK_work_wcategory', '2025-03-14 10:18:37', 'n_diff_pfx01', 2, 1, 'wcategory_id'),
	('materialwork', 'work', 'FK_work_wcategory', '2025-03-14 10:18:37', 'n_diff_pfx02', 82, 1, 'wcategory_id,id'),
	('materialwork', 'work', 'FK_work_wcategory', '2025-03-14 10:18:37', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'work', 'FK_work_wcategory', '2025-03-14 10:18:37', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'work', 'PRIMARY', '2025-03-14 10:18:37', 'n_diff_pfx01', 82, 1, 'id'),
	('materialwork', 'work', 'PRIMARY', '2025-03-14 10:18:37', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'work', 'PRIMARY', '2025-03-14 10:18:37', 'size', 1, NULL, 'Number of pages in the index'),
	('materialwork', 'work', 'id2', '2025-03-14 10:18:37', 'n_diff_pfx01', 82, 1, 'id2'),
	('materialwork', 'work', 'id2', '2025-03-14 10:18:37', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('materialwork', 'work', 'id2', '2025-03-14 10:18:37', 'size', 1, NULL, 'Number of pages in the index'),
	('metodes', 'fun_login', 'PRIMARY', '2025-03-14 07:52:14', 'n_diff_pfx01', 58, 1, 'id'),
	('metodes', 'fun_login', 'PRIMARY', '2025-03-14 07:52:14', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('metodes', 'fun_login', 'PRIMARY', '2025-03-14 07:52:14', 'size', 1, NULL, 'Number of pages in the index'),
	('metodes', 'fun_login', 'user_id', '2025-03-14 07:52:14', 'n_diff_pfx01', 15, 1, 'user_id'),
	('metodes', 'fun_login', 'user_id', '2025-03-14 07:52:14', 'n_diff_pfx02', 58, 1, 'user_id,id'),
	('metodes', 'fun_login', 'user_id', '2025-03-14 07:52:14', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('metodes', 'fun_login', 'user_id', '2025-03-14 07:52:14', 'size', 1, NULL, 'Number of pages in the index'),
	('metodes', 'fun_person', 'PRIMARY', '2025-03-14 07:52:14', 'n_diff_pfx01', 33, 1, 'id'),
	('metodes', 'fun_person', 'PRIMARY', '2025-03-14 07:52:14', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('metodes', 'fun_person', 'PRIMARY', '2025-03-14 07:52:14', 'size', 1, NULL, 'Number of pages in the index'),
	('metodes', 'fun_users', 'PRIMARY', '2025-03-14 07:52:14', 'n_diff_pfx01', 24, 1, 'id'),
	('metodes', 'fun_users', 'PRIMARY', '2025-03-14 07:52:14', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('metodes', 'fun_users', 'PRIMARY', '2025-03-14 07:52:14', 'size', 1, NULL, 'Number of pages in the index'),
	('metodes', 'fun_users', 'person_id', '2025-03-14 07:52:14', 'n_diff_pfx01', 24, 1, 'person_id'),
	('metodes', 'fun_users', 'person_id', '2025-03-14 07:52:14', 'n_diff_pfx02', 24, 1, 'person_id,id'),
	('metodes', 'fun_users', 'person_id', '2025-03-14 07:52:14', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('metodes', 'fun_users', 'person_id', '2025-03-14 07:52:14', 'size', 1, NULL, 'Number of pages in the index'),
	('mysql', 'gtid_slave_pos', 'PRIMARY', '2019-10-21 12:17:49', 'n_diff_pfx01', 0, 1, 'domain_id'),
	('mysql', 'gtid_slave_pos', 'PRIMARY', '2019-10-21 12:17:49', 'n_diff_pfx02', 0, 1, 'domain_id,sub_id'),
	('mysql', 'gtid_slave_pos', 'PRIMARY', '2019-10-21 12:17:49', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('mysql', 'gtid_slave_pos', 'PRIMARY', '2019-10-21 12:17:49', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'categories', 'PRIMARY', '2025-06-10 07:20:45', 'n_diff_pfx01', 13, 1, 'id'),
	('notepad', 'categories', 'PRIMARY', '2025-06-10 07:20:45', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'categories', 'PRIMARY', '2025-06-10 07:20:45', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'comments', 'FK_comments_published_files', '2025-06-09 13:00:34', 'n_diff_pfx01', 0, 1, 'published_file_id'),
	('notepad', 'comments', 'FK_comments_published_files', '2025-06-09 13:00:34', 'n_diff_pfx02', 0, 1, 'published_file_id,id'),
	('notepad', 'comments', 'FK_comments_published_files', '2025-06-09 13:00:34', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'comments', 'FK_comments_published_files', '2025-06-09 13:00:34', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'comments', 'FK_comments_users', '2025-06-09 13:00:34', 'n_diff_pfx01', 0, 1, 'user_id'),
	('notepad', 'comments', 'FK_comments_users', '2025-06-09 13:00:34', 'n_diff_pfx02', 0, 1, 'user_id,id'),
	('notepad', 'comments', 'FK_comments_users', '2025-06-09 13:00:34', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'comments', 'FK_comments_users', '2025-06-09 13:00:34', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'comments', 'PRIMARY', '2025-06-09 13:00:34', 'n_diff_pfx01', 0, 1, 'id'),
	('notepad', 'comments', 'PRIMARY', '2025-06-09 13:00:34', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'comments', 'PRIMARY', '2025-06-09 13:00:34', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'favourites', 'FK_favourites_published_files', '2025-06-09 12:55:44', 'n_diff_pfx01', 0, 1, 'published_file_id'),
	('notepad', 'favourites', 'FK_favourites_published_files', '2025-06-09 12:55:44', 'n_diff_pfx02', 0, 1, 'published_file_id,id'),
	('notepad', 'favourites', 'FK_favourites_published_files', '2025-06-09 12:55:44', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'favourites', 'FK_favourites_published_files', '2025-06-09 12:55:44', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'favourites', 'FK_favourites_users', '2025-06-09 12:55:44', 'n_diff_pfx01', 0, 1, 'user_id'),
	('notepad', 'favourites', 'FK_favourites_users', '2025-06-09 12:55:44', 'n_diff_pfx02', 0, 1, 'user_id,id'),
	('notepad', 'favourites', 'FK_favourites_users', '2025-06-09 12:55:44', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'favourites', 'FK_favourites_users', '2025-06-09 12:55:44', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'favourites', 'PRIMARY', '2025-06-09 12:55:44', 'n_diff_pfx01', 0, 1, 'id'),
	('notepad', 'favourites', 'PRIMARY', '2025-06-09 12:55:44', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'favourites', 'PRIMARY', '2025-06-09 12:55:44', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'file_likes', 'FK_file_likes_published_files', '2025-06-09 12:56:17', 'n_diff_pfx01', 0, 1, 'published_file_id'),
	('notepad', 'file_likes', 'FK_file_likes_published_files', '2025-06-09 12:56:17', 'n_diff_pfx02', 0, 1, 'published_file_id,id'),
	('notepad', 'file_likes', 'FK_file_likes_published_files', '2025-06-09 12:56:17', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'file_likes', 'FK_file_likes_published_files', '2025-06-09 12:56:17', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'file_likes', 'FK_file_likes_users', '2025-06-09 12:56:17', 'n_diff_pfx01', 0, 1, 'user_id'),
	('notepad', 'file_likes', 'FK_file_likes_users', '2025-06-09 12:56:17', 'n_diff_pfx02', 0, 1, 'user_id,id'),
	('notepad', 'file_likes', 'FK_file_likes_users', '2025-06-09 12:56:17', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'file_likes', 'FK_file_likes_users', '2025-06-09 12:56:17', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'file_likes', 'PRIMARY', '2025-06-09 12:56:17', 'n_diff_pfx01', 0, 1, 'id'),
	('notepad', 'file_likes', 'PRIMARY', '2025-06-09 12:56:17', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'file_likes', 'PRIMARY', '2025-06-09 12:56:17', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'file_users', 'FK_file_users_files', '2025-06-07 09:31:03', 'n_diff_pfx01', 27, 1, 'files_id'),
	('notepad', 'file_users', 'FK_file_users_files', '2025-06-07 09:31:03', 'n_diff_pfx02', 27, 1, 'files_id,id'),
	('notepad', 'file_users', 'FK_file_users_files', '2025-06-07 09:31:03', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'file_users', 'FK_file_users_files', '2025-06-07 09:31:03', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'file_users', 'FK_file_users_users', '2025-06-07 09:31:03', 'n_diff_pfx01', 2, 1, 'users_id'),
	('notepad', 'file_users', 'FK_file_users_users', '2025-06-07 09:31:03', 'n_diff_pfx02', 27, 1, 'users_id,id'),
	('notepad', 'file_users', 'FK_file_users_users', '2025-06-07 09:31:03', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'file_users', 'FK_file_users_users', '2025-06-07 09:31:03', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'file_users', 'PRIMARY', '2025-06-07 09:31:03', 'n_diff_pfx01', 27, 1, 'id'),
	('notepad', 'file_users', 'PRIMARY', '2025-06-07 09:31:03', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'file_users', 'PRIMARY', '2025-06-07 09:31:03', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'files', 'PRIMARY', '2025-06-07 09:31:03', 'n_diff_pfx01', 27, 1, 'id'),
	('notepad', 'files', 'PRIMARY', '2025-06-07 09:31:03', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'files', 'PRIMARY', '2025-06-07 09:31:03', 'size', 2, NULL, 'Number of pages in the index'),
	('notepad', 'published_file_categories', 'FK__categories', '2025-06-09 15:21:47', 'n_diff_pfx01', 9, 1, 'category_id'),
	('notepad', 'published_file_categories', 'FK__categories', '2025-06-09 15:21:47', 'n_diff_pfx02', 21, 1, 'category_id,id'),
	('notepad', 'published_file_categories', 'FK__categories', '2025-06-09 15:21:47', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'published_file_categories', 'FK__categories', '2025-06-09 15:21:47', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'published_file_categories', 'FK__published_files', '2025-06-09 15:21:47', 'n_diff_pfx01', 11, 1, 'published_file_id'),
	('notepad', 'published_file_categories', 'FK__published_files', '2025-06-09 15:21:47', 'n_diff_pfx02', 21, 1, 'published_file_id,id'),
	('notepad', 'published_file_categories', 'FK__published_files', '2025-06-09 15:21:47', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'published_file_categories', 'FK__published_files', '2025-06-09 15:21:47', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'published_file_categories', 'PRIMARY', '2025-06-09 15:21:47', 'n_diff_pfx01', 21, 1, 'id'),
	('notepad', 'published_file_categories', 'PRIMARY', '2025-06-09 15:21:47', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'published_file_categories', 'PRIMARY', '2025-06-09 15:21:47', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'published_files', 'FK__files', '2025-06-09 15:20:15', 'n_diff_pfx01', 10, 1, 'file_id'),
	('notepad', 'published_files', 'FK__files', '2025-06-09 15:20:15', 'n_diff_pfx02', 12, 1, 'file_id,id'),
	('notepad', 'published_files', 'FK__files', '2025-06-09 15:20:15', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'published_files', 'FK__files', '2025-06-09 15:20:15', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'published_files', 'FK__users', '2025-06-09 15:20:15', 'n_diff_pfx01', 2, 1, 'user_id'),
	('notepad', 'published_files', 'FK__users', '2025-06-09 15:20:15', 'n_diff_pfx02', 12, 1, 'user_id,id'),
	('notepad', 'published_files', 'FK__users', '2025-06-09 15:20:15', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'published_files', 'FK__users', '2025-06-09 15:20:15', 'size', 1, NULL, 'Number of pages in the index'),
	('notepad', 'published_files', 'PRIMARY', '2025-06-09 15:20:15', 'n_diff_pfx01', 12, 1, 'id'),
	('notepad', 'published_files', 'PRIMARY', '2025-06-09 15:20:15', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'published_files', 'PRIMARY', '2025-06-09 15:20:15', 'size', 161, NULL, 'Number of pages in the index'),
	('notepad', 'users', 'PRIMARY', '2025-03-13 13:08:28', 'n_diff_pfx01', 2, 1, 'id'),
	('notepad', 'users', 'PRIMARY', '2025-03-13 13:08:28', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('notepad', 'users', 'PRIMARY', '2025-03-13 13:08:28', 'size', 2, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__bookmark', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'id'),
	('phpmyadmin', 'pma__bookmark', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__bookmark', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__central_columns', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'db_name'),
	('phpmyadmin', 'pma__central_columns', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'db_name,col_name'),
	('phpmyadmin', 'pma__central_columns', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__central_columns', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__column_info', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'id'),
	('phpmyadmin', 'pma__column_info', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__column_info', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__column_info', 'db_name', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'db_name'),
	('phpmyadmin', 'pma__column_info', 'db_name', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'db_name,table_name'),
	('phpmyadmin', 'pma__column_info', 'db_name', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'db_name,table_name,column_name'),
	('phpmyadmin', 'pma__column_info', 'db_name', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__column_info', 'db_name', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__designer_settings', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__designer_settings', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__designer_settings', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__export_templates', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'id'),
	('phpmyadmin', 'pma__export_templates', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__export_templates', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__export_templates', 'u_user_type_template', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__export_templates', 'u_user_type_template', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'username,export_type'),
	('phpmyadmin', 'pma__export_templates', 'u_user_type_template', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'username,export_type,template_name'),
	('phpmyadmin', 'pma__export_templates', 'u_user_type_template', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__export_templates', 'u_user_type_template', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__favorite', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__favorite', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__favorite', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__history', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'id'),
	('phpmyadmin', 'pma__history', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__history', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'username,db'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'username,db,table'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'n_diff_pfx04', 0, 1, 'username,db,table,timevalue'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'n_diff_pfx05', 0, 1, 'username,db,table,timevalue,id'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__history', 'username', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'username,item_name'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'username,item_name,item_type'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx04', 0, 1, 'username,item_name,item_type,db_name'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx05', 0, 1, 'username,item_name,item_type,db_name,table_name'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__navigationhiding', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__pdf_pages', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'page_nr'),
	('phpmyadmin', 'pma__pdf_pages', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__pdf_pages', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__pdf_pages', 'db_name', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'db_name'),
	('phpmyadmin', 'pma__pdf_pages', 'db_name', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'db_name,page_nr'),
	('phpmyadmin', 'pma__pdf_pages', 'db_name', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__pdf_pages', 'db_name', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__recent', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__recent', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__recent', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__relation', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'master_db'),
	('phpmyadmin', 'pma__relation', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'master_db,master_table'),
	('phpmyadmin', 'pma__relation', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'master_db,master_table,master_field'),
	('phpmyadmin', 'pma__relation', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__relation', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'foreign_db'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'foreign_db,foreign_table'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'foreign_db,foreign_table,master_db'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'n_diff_pfx04', 0, 1, 'foreign_db,foreign_table,master_db,master_table'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'n_diff_pfx05', 0, 1, 'foreign_db,foreign_table,master_db,master_table,master_field'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__relation', 'foreign_field', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__savedsearches', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'id'),
	('phpmyadmin', 'pma__savedsearches', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__savedsearches', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__savedsearches', 'u_savedsearches_username_dbname', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__savedsearches', 'u_savedsearches_username_dbname', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'username,db_name'),
	('phpmyadmin', 'pma__savedsearches', 'u_savedsearches_username_dbname', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'username,db_name,search_name'),
	('phpmyadmin', 'pma__savedsearches', 'u_savedsearches_username_dbname', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__savedsearches', 'u_savedsearches_username_dbname', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__table_coords', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'db_name'),
	('phpmyadmin', 'pma__table_coords', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'db_name,table_name'),
	('phpmyadmin', 'pma__table_coords', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'db_name,table_name,pdf_page_number'),
	('phpmyadmin', 'pma__table_coords', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__table_coords', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__table_info', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'db_name'),
	('phpmyadmin', 'pma__table_info', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'db_name,table_name'),
	('phpmyadmin', 'pma__table_info', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__table_info', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__table_uiprefs', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__table_uiprefs', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'username,db_name'),
	('phpmyadmin', 'pma__table_uiprefs', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'username,db_name,table_name'),
	('phpmyadmin', 'pma__table_uiprefs', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__table_uiprefs', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__tracking', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'db_name'),
	('phpmyadmin', 'pma__tracking', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'db_name,table_name'),
	('phpmyadmin', 'pma__tracking', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'db_name,table_name,version'),
	('phpmyadmin', 'pma__tracking', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__tracking', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__userconfig', 'PRIMARY', '2019-10-21 13:36:49', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__userconfig', 'PRIMARY', '2019-10-21 13:36:49', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__userconfig', 'PRIMARY', '2019-10-21 13:36:49', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__usergroups', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'usergroup'),
	('phpmyadmin', 'pma__usergroups', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'usergroup,tab'),
	('phpmyadmin', 'pma__usergroups', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx03', 0, 1, 'usergroup,tab,allowed'),
	('phpmyadmin', 'pma__usergroups', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__usergroups', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('phpmyadmin', 'pma__users', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx01', 0, 1, 'username'),
	('phpmyadmin', 'pma__users', 'PRIMARY', '2019-10-21 12:19:11', 'n_diff_pfx02', 0, 1, 'username,usergroup'),
	('phpmyadmin', 'pma__users', 'PRIMARY', '2019-10-21 12:19:11', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('phpmyadmin', 'pma__users', 'PRIMARY', '2019-10-21 12:19:11', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'actor', 'PRIMARY', '2025-03-13 18:59:07', 'n_diff_pfx01', 200, 1, 'actor_id'),
	('raivis', 'actor', 'PRIMARY', '2025-03-13 18:59:07', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'actor', 'PRIMARY', '2025-03-13 18:59:07', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:07', 'n_diff_pfx01', 121, 1, 'last_name'),
	('raivis', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:07', 'n_diff_pfx02', 200, 1, 'last_name,actor_id'),
	('raivis', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:07', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:07', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'address', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 603, 4, 'address_id'),
	('raivis', 'address', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'address', 'PRIMARY', '2025-03-13 18:59:08', 'size', 5, NULL, 'Number of pages in the index'),
	('raivis', 'address', 'idx_fk_city_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 599, 1, 'city_id'),
	('raivis', 'address', 'idx_fk_city_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 603, 1, 'city_id,address_id'),
	('raivis', 'address', 'idx_fk_city_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'address', 'idx_fk_city_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'category', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 16, 1, 'category_id'),
	('raivis', 'category', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'category', 'PRIMARY', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'city', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 600, 2, 'city_id'),
	('raivis', 'city', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'city', 'PRIMARY', '2025-03-13 18:59:08', 'size', 3, NULL, 'Number of pages in the index'),
	('raivis', 'city', 'idx_fk_country_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 109, 1, 'country_id'),
	('raivis', 'city', 'idx_fk_country_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 600, 1, 'country_id,city_id'),
	('raivis', 'city', 'idx_fk_country_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'city', 'idx_fk_country_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'country', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 109, 1, 'country_id'),
	('raivis', 'country', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'country', 'PRIMARY', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'customer', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 599, 4, 'customer_id'),
	('raivis', 'customer', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'customer', 'PRIMARY', '2025-03-13 18:59:08', 'size', 5, NULL, 'Number of pages in the index'),
	('raivis', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 599, 1, 'address_id'),
	('raivis', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 599, 1, 'address_id,customer_id'),
	('raivis', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'store_id'),
	('raivis', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 599, 1, 'store_id,customer_id'),
	('raivis', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'customer', 'idx_last_name', '2025-03-13 18:59:08', 'n_diff_pfx01', 599, 1, 'last_name'),
	('raivis', 'customer', 'idx_last_name', '2025-03-13 18:59:08', 'n_diff_pfx02', 599, 1, 'last_name,customer_id'),
	('raivis', 'customer', 'idx_last_name', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'customer', 'idx_last_name', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'film', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 1000, 11, 'film_id'),
	('raivis', 'film', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film', 'PRIMARY', '2025-03-13 18:59:08', 'size', 12, NULL, 'Number of pages in the index'),
	('raivis', 'film', 'idx_fk_language_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 1, 1, 'language_id'),
	('raivis', 'film', 'idx_fk_language_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 1000, 1, 'language_id,film_id'),
	('raivis', 'film', 'idx_fk_language_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film', 'idx_fk_language_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 1, 1, 'original_language_id'),
	('raivis', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 1000, 1, 'original_language_id,film_id'),
	('raivis', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'film', 'idx_title', '2025-03-13 18:59:08', 'n_diff_pfx01', 1000, 2, 'title'),
	('raivis', 'film', 'idx_title', '2025-03-13 18:59:08', 'n_diff_pfx02', 1000, 2, 'title,film_id'),
	('raivis', 'film', 'idx_title', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film', 'idx_title', '2025-03-13 18:59:08', 'size', 3, NULL, 'Number of pages in the index'),
	('raivis', 'film_actor', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 200, 11, 'actor_id'),
	('raivis', 'film_actor', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx02', 5462, 11, 'actor_id,film_id'),
	('raivis', 'film_actor', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film_actor', 'PRIMARY', '2025-03-13 18:59:08', 'size', 12, NULL, 'Number of pages in the index'),
	('raivis', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 997, 4, 'film_id'),
	('raivis', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 5462, 4, 'film_id,actor_id'),
	('raivis', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:08', 'size', 5, NULL, 'Number of pages in the index'),
	('raivis', 'film_category', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 1000, 3, 'film_id'),
	('raivis', 'film_category', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx02', 1000, 3, 'film_id,category_id'),
	('raivis', 'film_category', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film_category', 'PRIMARY', '2025-03-13 18:59:08', 'size', 4, NULL, 'Number of pages in the index'),
	('raivis', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:08', 'n_diff_pfx01', 16, 1, 'category_id'),
	('raivis', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:08', 'n_diff_pfx02', 1000, 1, 'category_id,film_id'),
	('raivis', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'film_text', 'FTS_DOC_ID_INDEX', '2025-03-13 18:59:08', 'n_diff_pfx01', 1000, 1, 'FTS_DOC_ID'),
	('raivis', 'film_text', 'FTS_DOC_ID_INDEX', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film_text', 'FTS_DOC_ID_INDEX', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'film_text', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 1000, 10, 'film_id'),
	('raivis', 'film_text', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'film_text', 'PRIMARY', '2025-03-13 18:59:08', 'size', 11, NULL, 'Number of pages in the index'),
	('raivis', 'inventory', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 4581, 10, 'inventory_id'),
	('raivis', 'inventory', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'inventory', 'PRIMARY', '2025-03-13 18:59:08', 'size', 11, NULL, 'Number of pages in the index'),
	('raivis', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 958, 4, 'film_id'),
	('raivis', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 4581, 4, 'film_id,inventory_id'),
	('raivis', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:08', 'size', 5, NULL, 'Number of pages in the index'),
	('raivis', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 6, 'store_id'),
	('raivis', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 1521, 6, 'store_id,film_id'),
	('raivis', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:08', 'n_diff_pfx03', 4581, 6, 'store_id,film_id,inventory_id'),
	('raivis', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:08', 'size', 7, NULL, 'Number of pages in the index'),
	('raivis', 'language', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 6, 1, 'language_id'),
	('raivis', 'language', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'language', 'PRIMARY', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'payment', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 16086, 20, 'payment_id'),
	('raivis', 'payment', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 44, NULL, 'Number of leaf pages in the index'),
	('raivis', 'payment', 'PRIMARY', '2025-03-13 18:59:08', 'size', 97, NULL, 'Number of pages in the index'),
	('raivis', 'payment', 'fk_payment_rental', '2025-03-13 18:59:08', 'n_diff_pfx01', 16044, 16, 'rental_id'),
	('raivis', 'payment', 'fk_payment_rental', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 16, 'rental_id,payment_id'),
	('raivis', 'payment', 'fk_payment_rental', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'payment', 'fk_payment_rental', '2025-03-13 18:59:08', 'size', 17, NULL, 'Number of pages in the index'),
	('raivis', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 599, 10, 'customer_id'),
	('raivis', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 10, 'customer_id,payment_id'),
	('raivis', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'size', 11, NULL, 'Number of pages in the index'),
	('raivis', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 10, 'staff_id'),
	('raivis', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 10, 'staff_id,payment_id'),
	('raivis', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'size', 11, NULL, 'Number of pages in the index'),
	('raivis', 'rental', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 16005, 20, 'rental_id'),
	('raivis', 'rental', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 47, NULL, 'Number of leaf pages in the index'),
	('raivis', 'rental', 'PRIMARY', '2025-03-13 18:59:08', 'size', 97, NULL, 'Number of pages in the index'),
	('raivis', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 599, 16, 'customer_id'),
	('raivis', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 16, 'customer_id,rental_id'),
	('raivis', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:08', 'size', 17, NULL, 'Number of pages in the index'),
	('raivis', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 4580, 16, 'inventory_id'),
	('raivis', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 16, 'inventory_id,rental_id'),
	('raivis', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:08', 'size', 17, NULL, 'Number of pages in the index'),
	('raivis', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 13, 'staff_id'),
	('raivis', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 13, 'staff_id,rental_id'),
	('raivis', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:08', 'size', 14, NULL, 'Number of pages in the index'),
	('raivis', 'rental', 'rental_date', '2025-03-13 18:59:08', 'n_diff_pfx01', 15815, 24, 'rental_date'),
	('raivis', 'rental', 'rental_date', '2025-03-13 18:59:08', 'n_diff_pfx02', 16044, 24, 'rental_date,inventory_id'),
	('raivis', 'rental', 'rental_date', '2025-03-13 18:59:08', 'n_diff_pfx03', 16044, 24, 'rental_date,inventory_id,customer_id'),
	('raivis', 'rental', 'rental_date', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'rental', 'rental_date', '2025-03-13 18:59:08', 'size', 25, NULL, 'Number of pages in the index'),
	('raivis', 'staff', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'staff_id'),
	('raivis', 'staff', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'staff', 'PRIMARY', '2025-03-13 18:59:08', 'size', 4, NULL, 'Number of pages in the index'),
	('raivis', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'address_id'),
	('raivis', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 2, 1, 'address_id,staff_id'),
	('raivis', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'store_id'),
	('raivis', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 2, 1, 'store_id,staff_id'),
	('raivis', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'store', 'PRIMARY', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'store_id'),
	('raivis', 'store', 'PRIMARY', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'store', 'PRIMARY', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'store', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'address_id'),
	('raivis', 'store', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_diff_pfx02', 2, 1, 'address_id,store_id'),
	('raivis', 'store', 'idx_fk_address_id', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'store', 'idx_fk_address_id', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('raivis', 'store', 'idx_unique_manager', '2025-03-13 18:59:08', 'n_diff_pfx01', 2, 1, 'manager_staff_id'),
	('raivis', 'store', 'idx_unique_manager', '2025-03-13 18:59:08', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('raivis', 'store', 'idx_unique_manager', '2025-03-13 18:59:08', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'actor', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 200, 1, 'actor_id'),
	('sakila', 'actor', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'actor', 'PRIMARY', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:01', 'n_diff_pfx01', 121, 1, 'last_name'),
	('sakila', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:01', 'n_diff_pfx02', 200, 1, 'last_name,actor_id'),
	('sakila', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'actor', 'idx_actor_last_name', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'address', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 603, 4, 'address_id'),
	('sakila', 'address', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'address', 'PRIMARY', '2025-03-13 18:59:01', 'size', 5, NULL, 'Number of pages in the index'),
	('sakila', 'address', 'idx_fk_city_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 599, 1, 'city_id'),
	('sakila', 'address', 'idx_fk_city_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 603, 1, 'city_id,address_id'),
	('sakila', 'address', 'idx_fk_city_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'address', 'idx_fk_city_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'category', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 16, 1, 'category_id'),
	('sakila', 'category', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'category', 'PRIMARY', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'city', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 600, 2, 'city_id'),
	('sakila', 'city', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'city', 'PRIMARY', '2025-03-13 18:59:01', 'size', 3, NULL, 'Number of pages in the index'),
	('sakila', 'city', 'idx_fk_country_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 109, 1, 'country_id'),
	('sakila', 'city', 'idx_fk_country_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 600, 1, 'country_id,city_id'),
	('sakila', 'city', 'idx_fk_country_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'city', 'idx_fk_country_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'country', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 109, 1, 'country_id'),
	('sakila', 'country', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'country', 'PRIMARY', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'customer', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 599, 4, 'customer_id'),
	('sakila', 'customer', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'customer', 'PRIMARY', '2025-03-13 18:59:01', 'size', 5, NULL, 'Number of pages in the index'),
	('sakila', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 599, 1, 'address_id'),
	('sakila', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 599, 1, 'address_id,customer_id'),
	('sakila', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'customer', 'idx_fk_address_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'store_id'),
	('sakila', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 599, 1, 'store_id,customer_id'),
	('sakila', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'customer', 'idx_fk_store_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'customer', 'idx_last_name', '2025-03-13 18:59:01', 'n_diff_pfx01', 599, 1, 'last_name'),
	('sakila', 'customer', 'idx_last_name', '2025-03-13 18:59:01', 'n_diff_pfx02', 599, 1, 'last_name,customer_id'),
	('sakila', 'customer', 'idx_last_name', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'customer', 'idx_last_name', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'film', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 1000, 11, 'film_id'),
	('sakila', 'film', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film', 'PRIMARY', '2025-03-13 18:59:01', 'size', 12, NULL, 'Number of pages in the index'),
	('sakila', 'film', 'idx_fk_language_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 1, 1, 'language_id'),
	('sakila', 'film', 'idx_fk_language_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 1000, 1, 'language_id,film_id'),
	('sakila', 'film', 'idx_fk_language_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film', 'idx_fk_language_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 1, 1, 'original_language_id'),
	('sakila', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 1000, 1, 'original_language_id,film_id'),
	('sakila', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film', 'idx_fk_original_language_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'film', 'idx_title', '2025-03-13 18:59:01', 'n_diff_pfx01', 1000, 2, 'title'),
	('sakila', 'film', 'idx_title', '2025-03-13 18:59:01', 'n_diff_pfx02', 1000, 2, 'title,film_id'),
	('sakila', 'film', 'idx_title', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film', 'idx_title', '2025-03-13 18:59:01', 'size', 3, NULL, 'Number of pages in the index'),
	('sakila', 'film_actor', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 200, 11, 'actor_id'),
	('sakila', 'film_actor', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx02', 5462, 11, 'actor_id,film_id'),
	('sakila', 'film_actor', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film_actor', 'PRIMARY', '2025-03-13 18:59:01', 'size', 12, NULL, 'Number of pages in the index'),
	('sakila', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 997, 4, 'film_id'),
	('sakila', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 5462, 4, 'film_id,actor_id'),
	('sakila', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film_actor', 'idx_fk_film_id', '2025-03-13 18:59:01', 'size', 5, NULL, 'Number of pages in the index'),
	('sakila', 'film_category', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 1000, 3, 'film_id'),
	('sakila', 'film_category', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx02', 1000, 3, 'film_id,category_id'),
	('sakila', 'film_category', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film_category', 'PRIMARY', '2025-03-13 18:59:01', 'size', 4, NULL, 'Number of pages in the index'),
	('sakila', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:01', 'n_diff_pfx01', 16, 1, 'category_id'),
	('sakila', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:01', 'n_diff_pfx02', 1000, 1, 'category_id,film_id'),
	('sakila', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film_category', 'fk_film_category_category', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'film_text', 'FTS_DOC_ID_INDEX', '2025-03-13 18:59:01', 'n_diff_pfx01', 1000, 1, 'FTS_DOC_ID'),
	('sakila', 'film_text', 'FTS_DOC_ID_INDEX', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film_text', 'FTS_DOC_ID_INDEX', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'film_text', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 1000, 10, 'film_id'),
	('sakila', 'film_text', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'film_text', 'PRIMARY', '2025-03-13 18:59:01', 'size', 11, NULL, 'Number of pages in the index'),
	('sakila', 'inventory', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 4581, 10, 'inventory_id'),
	('sakila', 'inventory', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'inventory', 'PRIMARY', '2025-03-13 18:59:01', 'size', 11, NULL, 'Number of pages in the index'),
	('sakila', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 958, 4, 'film_id'),
	('sakila', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 4581, 4, 'film_id,inventory_id'),
	('sakila', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'inventory', 'idx_fk_film_id', '2025-03-13 18:59:01', 'size', 5, NULL, 'Number of pages in the index'),
	('sakila', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 6, 'store_id'),
	('sakila', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 1521, 6, 'store_id,film_id'),
	('sakila', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:01', 'n_diff_pfx03', 4581, 6, 'store_id,film_id,inventory_id'),
	('sakila', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'inventory', 'idx_store_id_film_id', '2025-03-13 18:59:01', 'size', 7, NULL, 'Number of pages in the index'),
	('sakila', 'language', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 6, 1, 'language_id'),
	('sakila', 'language', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'language', 'PRIMARY', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'payment', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 16086, 20, 'payment_id'),
	('sakila', 'payment', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 44, NULL, 'Number of leaf pages in the index'),
	('sakila', 'payment', 'PRIMARY', '2025-03-13 18:59:01', 'size', 97, NULL, 'Number of pages in the index'),
	('sakila', 'payment', 'fk_payment_rental', '2025-03-13 18:59:01', 'n_diff_pfx01', 16044, 16, 'rental_id'),
	('sakila', 'payment', 'fk_payment_rental', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 16, 'rental_id,payment_id'),
	('sakila', 'payment', 'fk_payment_rental', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'payment', 'fk_payment_rental', '2025-03-13 18:59:01', 'size', 17, NULL, 'Number of pages in the index'),
	('sakila', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 599, 10, 'customer_id'),
	('sakila', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 10, 'customer_id,payment_id'),
	('sakila', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'payment', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'size', 11, NULL, 'Number of pages in the index'),
	('sakila', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 10, 'staff_id'),
	('sakila', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 10, 'staff_id,payment_id'),
	('sakila', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'payment', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'size', 11, NULL, 'Number of pages in the index'),
	('sakila', 'rental', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 16008, 20, 'rental_id'),
	('sakila', 'rental', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 47, NULL, 'Number of leaf pages in the index'),
	('sakila', 'rental', 'PRIMARY', '2025-03-13 18:59:01', 'size', 97, NULL, 'Number of pages in the index'),
	('sakila', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 599, 16, 'customer_id'),
	('sakila', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 16, 'customer_id,rental_id'),
	('sakila', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'rental', 'idx_fk_customer_id', '2025-03-13 18:59:01', 'size', 17, NULL, 'Number of pages in the index'),
	('sakila', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 4580, 16, 'inventory_id'),
	('sakila', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 16, 'inventory_id,rental_id'),
	('sakila', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'rental', 'idx_fk_inventory_id', '2025-03-13 18:59:01', 'size', 17, NULL, 'Number of pages in the index'),
	('sakila', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 13, 'staff_id'),
	('sakila', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 13, 'staff_id,rental_id'),
	('sakila', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'rental', 'idx_fk_staff_id', '2025-03-13 18:59:01', 'size', 14, NULL, 'Number of pages in the index'),
	('sakila', 'rental', 'rental_date', '2025-03-13 18:59:01', 'n_diff_pfx01', 15815, 24, 'rental_date'),
	('sakila', 'rental', 'rental_date', '2025-03-13 18:59:01', 'n_diff_pfx02', 16044, 24, 'rental_date,inventory_id'),
	('sakila', 'rental', 'rental_date', '2025-03-13 18:59:01', 'n_diff_pfx03', 16044, 24, 'rental_date,inventory_id,customer_id'),
	('sakila', 'rental', 'rental_date', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'rental', 'rental_date', '2025-03-13 18:59:01', 'size', 25, NULL, 'Number of pages in the index'),
	('sakila', 'staff', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'staff_id'),
	('sakila', 'staff', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'staff', 'PRIMARY', '2025-03-13 18:59:01', 'size', 4, NULL, 'Number of pages in the index'),
	('sakila', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'address_id'),
	('sakila', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 2, 1, 'address_id,staff_id'),
	('sakila', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'staff', 'idx_fk_address_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'store_id'),
	('sakila', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 2, 1, 'store_id,staff_id'),
	('sakila', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'staff', 'idx_fk_store_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'store', 'PRIMARY', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'store_id'),
	('sakila', 'store', 'PRIMARY', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'store', 'PRIMARY', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'store', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'address_id'),
	('sakila', 'store', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_diff_pfx02', 2, 1, 'address_id,store_id'),
	('sakila', 'store', 'idx_fk_address_id', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'store', 'idx_fk_address_id', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index'),
	('sakila', 'store', 'idx_unique_manager', '2025-03-13 18:59:01', 'n_diff_pfx01', 2, 1, 'manager_staff_id'),
	('sakila', 'store', 'idx_unique_manager', '2025-03-13 18:59:01', 'n_leaf_pages', 1, NULL, 'Number of leaf pages in the index'),
	('sakila', 'store', 'idx_unique_manager', '2025-03-13 18:59:01', 'size', 1, NULL, 'Number of pages in the index');

-- Dumping structure for table mysql.innodb_table_stats
CREATE TABLE IF NOT EXISTS `innodb_table_stats` (
  `database_name` varchar(64) NOT NULL,
  `table_name` varchar(199) NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;

-- Dumping data for table mysql.innodb_table_stats: ~117 rows (approximately)
INSERT INTO `innodb_table_stats` (`database_name`, `table_name`, `last_update`, `n_rows`, `clustered_index_size`, `sum_of_other_index_sizes`) VALUES
	('anime_db', 'anime', '2025-03-13 12:24:07', 2, 1, 0),
	('animelist', 'anime', '2025-03-13 12:24:13', 15, 1, 0),
	('animelist', 'anime_genres', '2025-03-13 12:24:13', 34, 1, 2),
	('animelist', 'anime_licensor', '2025-03-13 12:24:13', 15, 1, 2),
	('animelist', 'anime_studio', '2025-03-13 12:24:13', 15, 1, 2),
	('animelist', 'episode', '2025-03-13 12:24:13', 15, 1, 1),
	('animelist', 'genre', '2025-03-13 12:24:13', 13, 1, 0),
	('animelist', 'licensor', '2025-03-13 12:24:13', 5, 1, 0),
	('animelist', 'studio', '2025-03-13 12:24:13', 12, 1, 0),
	('animelist', 'users', '2025-03-13 12:24:13', 11, 1, 0),
	('animelist', 'users_anime', '2025-03-13 12:24:13', 10, 1, 2),
	('animelist', 'users_list', '2025-03-13 12:24:13', 10, 2, 0),
	('bootstrapprakseraivis', 'wp_commentmeta', '2025-06-17 13:31:42', 0, 1, 2),
	('bootstrapprakseraivis', 'wp_comments', '2025-06-17 13:31:42', 0, 1, 5),
	('bootstrapprakseraivis', 'wp_links', '2025-06-17 13:31:42', 0, 1, 1),
	('bootstrapprakseraivis', 'wp_options', '2025-06-17 13:31:42', 150, 69, 2),
	('bootstrapprakseraivis', 'wp_postmeta', '2025-06-17 13:31:42', 165, 3, 2),
	('bootstrapprakseraivis', 'wp_posts', '2025-06-17 13:31:42', 91, 5, 4),
	('bootstrapprakseraivis', 'wp_term_relationships', '2025-06-17 13:31:42', 40, 1, 1),
	('bootstrapprakseraivis', 'wp_term_taxonomy', '2025-06-17 13:31:42', 11, 1, 2),
	('bootstrapprakseraivis', 'wp_termmeta', '2025-06-17 13:31:42', 0, 1, 2),
	('bootstrapprakseraivis', 'wp_terms', '2025-06-17 13:31:42', 11, 1, 2),
	('bootstrapprakseraivis', 'wp_usermeta', '2025-06-17 13:31:42', 30, 1, 2),
	('bootstrapprakseraivis', 'wp_users', '2025-06-17 13:31:42', 1, 1, 3),
	('bootstrappraksewordpress', 'wp_commentmeta', '2025-06-17 13:31:42', 0, 1, 2),
	('bootstrappraksewordpress', 'wp_comments', '2025-06-17 13:31:42', 0, 1, 5),
	('bootstrappraksewordpress', 'wp_links', '2025-06-17 13:31:43', 0, 1, 1),
	('bootstrappraksewordpress', 'wp_options', '2025-06-17 13:31:43', 143, 69, 2),
	('bootstrappraksewordpress', 'wp_postmeta', '2025-06-17 13:31:43', 37, 1, 2),
	('bootstrappraksewordpress', 'wp_posts', '2025-06-17 13:31:43', 35, 1, 4),
	('bootstrappraksewordpress', 'wp_term_relationships', '2025-06-17 13:31:43', 9, 1, 1),
	('bootstrappraksewordpress', 'wp_term_taxonomy', '2025-06-17 13:31:43', 6, 1, 2),
	('bootstrappraksewordpress', 'wp_termmeta', '2025-06-17 13:31:43', 0, 1, 2),
	('bootstrappraksewordpress', 'wp_terms', '2025-06-17 13:31:43', 6, 1, 2),
	('bootstrappraksewordpress', 'wp_usermeta', '2025-06-17 13:31:43', 21, 1, 2),
	('bootstrappraksewordpress', 'wp_users', '2025-06-17 13:31:43', 1, 1, 3),
	('database_prakse', 'wp_commentmeta', '2025-03-13 18:58:51', 0, 1, 2),
	('database_prakse', 'wp_comments', '2025-03-13 18:58:51', 1, 1, 5),
	('database_prakse', 'wp_links', '2025-03-13 18:58:51', 0, 1, 1),
	('database_prakse', 'wp_options', '2025-03-13 18:58:51', 139, 69, 2),
	('database_prakse', 'wp_postmeta', '2025-03-13 18:58:51', 72, 1, 2),
	('database_prakse', 'wp_posts', '2025-03-13 18:58:51', 30, 3, 4),
	('database_prakse', 'wp_term_relationships', '2025-03-13 18:58:51', 7, 1, 1),
	('database_prakse', 'wp_term_taxonomy', '2025-03-13 18:58:51', 3, 1, 2),
	('database_prakse', 'wp_termmeta', '2025-03-13 18:58:51', 0, 1, 2),
	('database_prakse', 'wp_terms', '2025-03-13 18:58:51', 3, 1, 2),
	('database_prakse', 'wp_usermeta', '2025-03-13 18:58:51', 23, 1, 2),
	('database_prakse', 'wp_users', '2025-03-13 18:58:51', 1, 1, 3),
	('materialwork', 'category', '2025-03-14 09:57:14', 7, 1, 0),
	('materialwork', 'material', '2025-03-14 09:58:45', 75, 1, 2),
	('materialwork', 'unit', '2025-03-14 09:55:00', 6, 1, 0),
	('materialwork', 'wcategory', '2025-03-14 09:56:00', 2, 1, 0),
	('materialwork', 'work', '2025-03-14 10:18:37', 82, 1, 3),
	('metodes', 'fun_login', '2025-03-14 07:52:14', 58, 1, 1),
	('metodes', 'fun_person', '2025-03-14 07:52:14', 33, 1, 0),
	('metodes', 'fun_users', '2025-03-14 07:52:14', 24, 1, 1),
	('mysql', 'gtid_slave_pos', '2019-10-21 12:17:49', 0, 1, 0),
	('notepad', 'categories', '2025-06-10 07:20:45', 13, 1, 0),
	('notepad', 'comments', '2025-06-09 13:00:34', 0, 1, 2),
	('notepad', 'favourites', '2025-06-09 12:55:44', 0, 1, 2),
	('notepad', 'file_likes', '2025-06-09 12:56:17', 0, 1, 2),
	('notepad', 'file_users', '2025-06-07 09:31:03', 27, 1, 2),
	('notepad', 'files', '2025-06-07 09:31:03', 27, 2, 0),
	('notepad', 'published_file_categories', '2025-06-09 15:21:47', 21, 1, 2),
	('notepad', 'published_files', '2025-06-09 15:20:15', 12, 161, 2),
	('notepad', 'users', '2025-03-13 13:08:28', 2, 2, 0),
	('phpmyadmin', 'pma__bookmark', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__central_columns', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__column_info', '2019-10-21 12:19:11', 0, 1, 1),
	('phpmyadmin', 'pma__designer_settings', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__export_templates', '2019-10-21 12:19:11', 0, 1, 1),
	('phpmyadmin', 'pma__favorite', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__history', '2019-10-21 12:19:11', 0, 1, 1),
	('phpmyadmin', 'pma__navigationhiding', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__pdf_pages', '2019-10-21 12:19:11', 0, 1, 1),
	('phpmyadmin', 'pma__recent', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__relation', '2019-10-21 12:19:11', 0, 1, 1),
	('phpmyadmin', 'pma__savedsearches', '2019-10-21 12:19:11', 0, 1, 1),
	('phpmyadmin', 'pma__table_coords', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__table_info', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__table_uiprefs', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__tracking', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__userconfig', '2019-10-21 13:36:49', 0, 1, 0),
	('phpmyadmin', 'pma__usergroups', '2019-10-21 12:19:11', 0, 1, 0),
	('phpmyadmin', 'pma__users', '2019-10-21 12:19:11', 0, 1, 0),
	('raivis', 'actor', '2025-03-13 18:59:07', 200, 1, 1),
	('raivis', 'address', '2025-03-13 18:59:08', 603, 5, 1),
	('raivis', 'category', '2025-03-13 18:59:08', 16, 1, 0),
	('raivis', 'city', '2025-03-13 18:59:08', 600, 3, 1),
	('raivis', 'country', '2025-03-13 18:59:08', 109, 1, 0),
	('raivis', 'customer', '2025-03-13 18:59:08', 599, 5, 3),
	('raivis', 'film', '2025-03-13 18:59:08', 1000, 12, 5),
	('raivis', 'film_actor', '2025-03-13 18:59:08', 5462, 12, 5),
	('raivis', 'film_category', '2025-03-13 18:59:08', 1000, 4, 1),
	('raivis', 'film_text', '2025-03-13 18:59:08', 1000, 11, 1),
	('raivis', 'inventory', '2025-03-13 18:59:08', 4581, 11, 12),
	('raivis', 'language', '2025-03-13 18:59:08', 6, 1, 0),
	('raivis', 'payment', '2025-03-13 18:59:08', 16086, 97, 39),
	('raivis', 'rental', '2025-03-13 18:59:08', 16005, 97, 73),
	('raivis', 'staff', '2025-03-13 18:59:08', 2, 4, 2),
	('raivis', 'store', '2025-03-13 18:59:08', 2, 1, 2),
	('sakila', 'actor', '2025-03-13 18:59:01', 200, 1, 1),
	('sakila', 'address', '2025-03-13 18:59:01', 603, 5, 1),
	('sakila', 'category', '2025-03-13 18:59:01', 16, 1, 0),
	('sakila', 'city', '2025-03-13 18:59:01', 600, 3, 1),
	('sakila', 'country', '2025-03-13 18:59:01', 109, 1, 0),
	('sakila', 'customer', '2025-03-13 18:59:01', 599, 5, 3),
	('sakila', 'film', '2025-03-13 18:59:01', 1000, 12, 5),
	('sakila', 'film_actor', '2025-03-13 18:59:01', 5462, 12, 5),
	('sakila', 'film_category', '2025-03-13 18:59:01', 1000, 4, 1),
	('sakila', 'film_text', '2025-03-13 18:59:01', 1000, 11, 1),
	('sakila', 'inventory', '2025-03-13 18:59:01', 4581, 11, 12),
	('sakila', 'language', '2025-03-13 18:59:01', 6, 1, 0),
	('sakila', 'payment', '2025-03-13 18:59:01', 16086, 97, 39),
	('sakila', 'rental', '2025-03-13 18:59:01', 16008, 97, 73),
	('sakila', 'staff', '2025-03-13 18:59:01', 2, 4, 2),
	('sakila', 'store', '2025-03-13 18:59:01', 2, 1, 2);

-- Dumping structure for table mysql.plugin
