暂无图片
MySQL为什么在单表数据量达到千万/亿级别时性能比百万级别时差很多?
我来答
分享
Tom
2021-09-07
MySQL为什么在单表数据量达到千万/亿级别时性能比百万级别时差很多?

当MySQL单表数据量达到千万上亿级别的时候,性能就会变得比较差,需要分表分库。但是数据库的底层数据结构都是B树或其变种,增删查操作的时间复杂度应该是数据量的对数函数级别,单表数据量达到千万上亿的时候应该不会比百万级别时差很多才对。

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
薛晓刚

按照Btree的原理,你只要用索引1千万和10亿的层级一样高。如果性能差很多,看看执行计划是不是全表了。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
Tom
题主
2021-09-07
好的
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL5.6启动失败
回答 1
看着错误提示是说插件不存在?
MaridaDB 和社区版的MySQL版本之间有对应关系吗?
回答 10
已采纳
Mariadb是MySQL的作者在MySQL被收购之后,由于担心所属公司把MySQL闭源而fork出来的一个分支,现在已经是MySQL系数据库的一个重要的产品,很大程度上,我们可以使用Mariadb来
现在公司一般用的是哪个版本?
回答 4
已采纳
目前,MySQL5.7和8.x版本都是比较常见的版本。但是,不同的公司可能会使用不同的版本,具体取决于公司的业务需求和技术架构。相对来说新兴企业8.x
navicat 逆向多表至模型,在模型中创建外键指示关联关系 , 影响表吗?
回答 1
使用Navicat逆向工程生成模型并在模型中创建外键关联关系不会直接影响数据库中的表结构。逆向工程是一个从数据库生成模型代码的过程,它会根据数据库表的结构生成相应的模型类或代码。Navicat逆向工程
mysql执行过程
回答 1
已采纳
1、我们在客户端发起一个SQL的查询;2、连接器判断用户登录以及用户权限;3、缓存命中,走缓存,直接返回查询结果;3、缓存没命中,到达分析器,对SQL语句进行分析,包括预处理与解析过程;4、优化器,对
Mysql的默认事物怎么修改?
回答 1
已采纳
settransactionisolation'REPEATABLEREAD';settransactionisolation'ReadCommitted';不同的隔离级别。效果不一样。rr模式下,没
MySQL 报错1093 - 无法在 FROM 子句中指定要更新的目标表,怎么解决?
回答 1
其中包含损坏的条目是什么意思?是磁盘坏块,或者叫坏页?
请问mysql占用内存呈上升趋势是正常的吗?是不是要做flush什么的呢?
回答 2
内存上升要看下是否配置合理。比如innodbbufferpoolsize是否设置过多。swap是否使用。https://www.modb.pro/db/86827有些mysql内存相关的说明,参考一下
分布式数据库中主机的信息存放在哪个表?
回答 1
A、host表
关于mysql唯一索引说法正确的是?
回答 3
已采纳
正确的说法是:C当使用replaceinto插入数据时,如果碰到唯一索引冲突,会先删除这行冲突记录,然后再插入新的一行。D唯一索引查询比普通索引略快,是因为可以少扫描一些行。这两个说法是正确的。A联合