cockroach 临时引擎 SortedDiskMap类图(rocksdb与pebble实现)
分类:
数据库 时间:
2020-12-09 11:53:44
阅读次数:
5
派生表派生表是一个表达式,在查询FROM子句范围内生成一个表。例如,SELECT语句FROM子句中的子查询是派生表:1.SELECT...FROM(subquery)[AS]tbl_name...JSON_TABLE()函数生成一个表,并提供另一种创建派生表的方法:1.SELECT*FROMJSON_TABLE(arg_list)[AS]tbl_name...[AS]tbl_name子句是必需的,
分类:
数据库 时间:
2020-12-09 11:47:51
阅读次数:
6
前言:经过前面文章学习,我们知道binlog会记录数据库所有执行的DDL和DML语句(除了数据查询语句select、show等)。注意默认情况下会记录所有库的操作,那么如果我们有另类需求,比如说只让某个库记录binglog或排除某个库记录binlog,是否支持此类需求呢?本篇文章我们一起来看下。1.binlog_do_db与binlog_ignore_db当数据库实例开启binlog时,我们执行s
分类:
数据库 时间:
2020-12-09 11:46:54
阅读次数:
5
XA事务状态XA事务进程包含以下状态:使用XASTART启动XA事务并将其置于ACTIVE状态。对于ACTIVEXA事务,执行组成事务的SQL语句,然后执行XAEND语句。XAEND将事务置于IDLE状态。对于IDLEXA事务,可以执行XAPREPARE语句或XACOMMIT...ONEPHASE语句:■XAPREPARE将事务置于PREPARED状态。在此节点的XARECOVER语句在其输出中包
分类:
数据库 时间:
2020-12-09 11:43:41
阅读次数:
10
XA事务SQL语句要在MySQL中执行XA事务,请使用以下语句:1.XA{START|BEGIN}xid[JOIN|RESUME]2.3.XAENDxid[SUSPEND[FORMIGRATE]]4.5.XAPREPARExid6.7.XACOMMITxid[ONEPHASE]8.9.XAROLLBACKxid10.11.XARECOVER[CONVERTXID]对于XASTART,可以识别JOI
分类:
数据库 时间:
2020-12-09 11:43:16
阅读次数:
9
表锁释放当一个会话持有的表锁被释放时,它们将同时被释放。会话可以显式释放锁,也可以在某些条件下隐式释放锁。●会话可以通过UNLOCKTABLES语句显式释放锁。●如果会话在已经持有锁的情况下发出LOCKTABLES语句以获取锁,则在授予新锁之前,将隐式释放其现有锁。●如果会话开始一个事务(例如,使用STARTTRANSACTION),会隐式执行UNLOCKTABLES释放现有锁。如果客户端会话连接
分类:
数据库 时间:
2020-12-09 11:43:00
阅读次数:
9
LOCKINSTANCEFORBACKUP和UNLOCKINSTANCE语句1.LOCKINSTANCEFORBACKUP2.3.UNLOCKINSTANCELOCKINSTANCEFORBACKUP获取实例级备份锁,该锁允许在联机备份期间使用DML语句,同时防止可能导致快照不一致的操作。执行LOCKINSTANCEFORBACKUP语句需要BACKUP_ADMIN权限。在执行从早期版本到MySQ
分类:
数据库 时间:
2020-12-09 11:42:41
阅读次数:
9
SAVEPOINT、ROLLBACKTOSAVEPOINT和RELEASESAVEPOINT语句1.SAVEPOINTidentifier2.ROLLBACK[WORK]TO[SAVEPOINT]identifier3.RELEASESAVEPOINTidentifierInnoDB支持SQL语句SAVEPOINT、ROLLBACKTOSAVEPOINT、RELEASESAVEPOINT和用于RO
分类:
数据库 时间:
2020-12-09 11:42:24
阅读次数:
9
事务性语句和锁定语句STARTTRANSACTION、COMMIT和ROLLBACK1.STARTTRANSACTION2.[transaction_characteristic[,transaction_characteristic]...]3.4.transaction_characteristic:{5.WITHCONSISTENTSNAPSHOT6.|READWRITE7.|READONL
分类:
数据库 时间:
2020-12-09 11:42:09
阅读次数:
11
递归公共表表达式递归公共表表达式是具有引用其自身名称的子查询的表达式。例如:1.WITHRECURSIVEcte(n)AS2.(3.SELECT14.UNIONALL5.SELECTn+1FROMcteWHEREn<56.)7.SELECT*FROMcte;执行时,语句将生成以下结果,即一个包含简单线性序列的列:1.+------+2.|n3.+------+4.|15.|26.|37.|4
分类:
数据库 时间:
2020-12-09 11:41:49
阅读次数:
9
VALUES语句VALUES是MySQL8.0.19中引入的一个DML语句,它以表的形式返回一个或多个行的集合。换句话说,它是一个表值构造器,也可以作为独立的SQL语句来运行。1.VALUESrow_constructor_list[ORDERBYcolumn_designator][LIMITBYnumber]2.3.row_constructor_list:4.ROW(value_list)[
分类:
数据库 时间:
2020-12-09 11:41:37
阅读次数:
9
UPDATE语句UPDATE是修改表中行的DML语句。UPDATE语句可以用WITH子句开头,定义在UPDATE中可访问的公共表表达式。单表语法:1.UPDATE[LOW_PRIORITY][IGNORE]table_reference2.SETassignment_list3.[WHEREwhere_condition]4.[ORDERBY...]5.[LIMITrow_count]6.7.va
分类:
数据库 时间:
2020-12-09 11:41:19
阅读次数:
17
TABLE语句TABLE是MySQL8.0.19中引入的一个DML语句,它返回指定表的行和列。1.TABLEtable_name[ORDERBYcolumn_name][LIMITnumber[OFFSETnumber]]TABLE语句在某些方面类似于SELECT。假设存在一个名为t的表,以下两个语句将产生相同的输出:1.TABLEt;2.3.SELECT*FROMt;可以分别使用ORDERBY和
分类:
数据库 时间:
2020-12-09 11:40:58
阅读次数:
8
子查询的限制●通常,不能在子查询中修改表并从同一表中进行选择。例如,此限制适用于以下形式的语法:1.DELETEFROMtWHERE...(SELECT...FROMt...);2.UPDATEt...WHEREcol=(SELECT...FROMt...);3.{INSERT|REPLACE}INTOt(SELECT...FROMt...);例外情况:如果使用的是派生表,并且派生表是物化的,而不
分类:
数据库 时间:
2020-12-09 11:40:45
阅读次数:
8
优化子查询因为数据库的开发一直都在进行中,因此没有优化技巧是长期可靠的。下面提供了一些您可能感兴趣的技巧。将子句从子查询外部移动到内部。例如,使用以下查询:1.SELECT*FROMt12.WHEREs1IN(SELECTs1FROMt1UNIONALLSELECTs1FROMt2);而不是下面这个查询:1.SELECT*FROMt12.WHEREs1IN(SELECTs1FROMt1)ORs1I
分类:
数据库 时间:
2020-12-09 11:40:30
阅读次数:
11
子查询错误有些错误只适用于子查询。本节将介绍它们。●不支持的子查询语法:1.ERROR1235(ER_NOT_SUPPORTED_YET)2.SQLSTATE=420003.Message="ThisversionofMySQLdoesn‘tyetsupport4.‘LIMIT&IN/ALL/ANY/SOMEsubquery‘"这意味着MySQL不支持如下语句:1.SELECT*FROMt
分类:
数据库 时间:
2020-12-09 11:40:14
阅读次数:
9
横向派生表派生表通常不能引用(依赖)同一FROM子句中前面表的列。从MySQL8.0.14开始,派生表可以定义为横向派生表,以指定允许这样的引用。横向派生表的语法与非横向派生表的语法相同,只是在派生表规范之前指定了关键字LATERAL。要用作横向派生表的每个表前面必须有LATERAL关键字。横向派生表格受以下限制:●横向派生表只能出现在FROM子句中,可以出现在用逗号分隔的表列表中,也可以出现在联
分类:
数据库 时间:
2020-12-09 11:39:05
阅读次数:
10