蔚来汽车 TiDB丨单表超 20 亿从 MySQL 到 TiDB 迁移思考与实践
主键索引和非主键索引都是B+树结构,其中非主键索引的叶子节点存储主键值,用于快速定位到具体的数据行。B+树的每个节点可以存储更多的键值,这意味着相比B树,B+树的高度更低,查询效率更高。事务和MVCC:InnoDB通过行级锁定和MVCC机制来支持高并发的读写操作。通过Undo日志来实现MVCC,允许在不锁定...
浅谈SQL优化小技巧
(1)客户端发送一条查询语句到服务器;(2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据;(3)未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL解析器将使用MySQL语法进行验证和解析。例如,验证是否使用了错误的关键字,或者关键字的使用是否正确;(4)预处理...
MaxCompute 近实时增全量处理一体化新架构和使用场景介绍
//查询指定时间戳的历史数据select*fromdttimestampasof'2024-04-0101:00:00';//查询5分钟之间的历史数据select*fromdttimestampasofcurrent_timestamp()-300;//查询截止到最近第二次Commit写入的历史数据select*fromdttimestampasofget_latest_timestamp('dt',2);Timetravel查询处理过程简介SQL引擎接收...
SQL查询效率优化原则
因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。5.2用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。在新建临时表时,如果一次性插入数据量很大,那么可以使用selectinto代替createtable,避免造成大量log,以...
DorisDB在跨越速运查询引擎中的探索实践
第三阶段,我们在2021年开始寻找其他能满足我们需求的OLAP引擎,此时我们发现了DorisDB这个产品。首先关注到DorisDB的单表、多表关联查询的性能都非常优秀,能够满足我们对查询延时的需求;DorisDB支持MySQL协议,让我们开发同事在开发接口的时候学习和使用门槛非常低。另外,DorisDB还具备支持按主键更新、支持多种类型外表、部...
跨越速运 x DorisDB:统一查询引擎,强悍性能带来极速体验
第三阶段,我们在2021年开始寻找其他能满足我们需求的OLAP引擎,此时我们发现了DorisDB这个产品(www.e993.com)2024年10月24日。首先关注到DorisDB的单表、多表关联查询的性能都非常优秀,能够满足我们对查询延时的需求;DorisDB支持MySQL协议,让我们开发同事在开发接口的时候学习和使用门槛非常低。另外,DorisDB还具备支持按主键更新、支持多种类型外表、部...
SQLAlchemy 使用经验
printquery#显示SQL语句printquery.statement#同上foruserinquery:#遍历时查询printuser.nameprintquery.all()#返回的是一个类似列表的对象printquery.first().name#记录不存在时,first()会返回None#printquery.one().name#不存在,或有多行记录时会抛出异常...
学习SQL语句性能调整
??PrimaryKey字段的长度尽量小,能用smallinteger就不要用integer。例如员工数据表,若能用员工编号当主键,就不要用身分证号码。??一般字段亦同。若该数据表要存放的数据不会超过3万笔,用smallinteger即可,不必用integer。??文字数据字段若长度固定,如:身分证号码,就不要用varchar或...
在Navicat中如何新建数据库和表并做查询
13、在查询窗口中输入SQL语句进行搜索,如下图所示,试图查询article表中的数据。SQL语句写完之后,点击“运行”选项卡,之后查询到的结果将会在同一个窗口下进行显示,如下图所示。14、当然了,右键点击article,可以看到关于表格的操作还有许多,在此就不赘述了。
火山引擎云数据库 veDB 在字节内部的业务实践
主键索引(源表)页面预取:DDL分为两个阶段,第一个阶段是对原表主键索引进行全表扫描,然后在这一阶段进行精准的页面预取;并行构建(按索引,多机房):第二个阶段就是并行构建,比如按照索引并行构建,团队要重新构建表,其中包含10个索引,那么会有10个并发;同时,如果机房之间通过Binlog去同步,团队可以多机房...