首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试官:能存多少数据

面试中难免会被问到能存多少数据? 可能很多人都看过网上的一些文章说最多只能存2000万。你觉得呢? 还有,在阿里开发规范中有这么一: 这里人家说推荐进行分库分,不是强制进行分库分。...然后,我记得2017年,我面试过一家小企业,面试中就被问到一个数据达到多少时需要做分库分。...我当时回答是:这个没有具体的值,要看你的结构设计,以及当前硬件配置,不是看到有多少数据了就开始搞分库分,因为分库分不是闹着玩的,从系统架构的复杂度和工期来说都会相应增加。...回到上面的问题中你还会觉得一张的最多能存2000万是正确的吗? 其实,抛开容量来聊一张能存多少数据是不对的。...另外也可能是考虑到数据的备份和恢复的风险系数会增加,所以,个人认为一张数据如果达到1000万行后,只是个建议,毕竟实际场景中有的上亿了也能正常使用。 你见过一张最多存多少数据

9610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL数据查询之查询

    查询 简单查询 - 创建 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT...Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数 分页查询 好处:限制查询数据条数,提高查询效率 #查询前5数据 select...* from person limit 5; #查询第5到第10数据 select * from person limit 5,5; #查询第10到第15数据 select * from...person limit 10,5; ps: limit (起始条数),(查询多少条数); 正则表达式 MySQL中使用 REGEXP 操作符来进行正则表达式匹配。...首先执行 FROM 子句, 从 person 组装数据源的数据    (2). 执行 WHERE 子句, 筛选 person 中 name 不为 NULL 的数据    (3).

    6.3K30

    MySQL-操作

    数据操作 复制表结构和数据 复制已有结构 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 名 {LIKE 旧表名 | (LIKE 旧表名) } 复制已有数据 INSERT...[INTO] 数据1 [(字段列表)] SELETC [(字段列表)] FROM 数据名2; 注意:若数据中含有主键,而主键具有唯一性,所以在数据复制时还要考虑主键冲突的问题 拓展 临时的创建...SELETE selete 选项 字段列表 FROM 数据 在上述语法中,“selete选项”默认值为All,表示保存所有查询到的记录;当设置为DISINCT时,表示去除重复记录,只保留一。...限量 对于一次性查询出的大量数据,不仅不便于阅读查看,还会浪费系统效率。LIMIT可以限定记录的数量,也可以指定查询从那一记录开始。...分组与聚合函数 分组 在MySQL中,可以使用GROUP BY 根据一个或多个字段进行分组,字段值相同的为一组。另外对于分组的数据可以使用HAVING进行条件筛选。

    2K10

    MySQL&约束&事务

    DQL操作 排序 # 通过 ORDER BY 子句,可以将查询出的结果进行排序(排序只是显示效果,不会影响真实数据) SELECT 字段名 FROM 名 [WHERE 字段 = 值] ORDER..., -- 为ename 字段添加默认值 ename VARCHAR(20) DEFAULT '奥利给', sex CHAR(1) ); 数据库的事务 事务是一个整体,由一或者多条SQL 语句组成,这些...SQL语句要么都执行成功,要么都执行失败, 只要有一SQL出现异常,整个操作就会回滚,整个业务执行失败。...持 久 性 一旦事务执行成功,对数据库的修改是持久的。就算关机,数据也是要保存下来的. MySQL 事务隔离级别 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库....查询得到的数据状态不准确,导致幻读 四种隔离级别 隔离级别相关命令 # 查看隔离级别 select @@tx_isolation; # 设置事务隔离级别,需要退出 MySQL 再重新登录才能看到隔离级别的变化

    1.2K30

    MySQL用全库备份数据恢复数据

    备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个只有几十M,但是其它可能有十几上百G,这时候就需要将需要恢复的提取出来了...现在有备份库fdcsqlMySQL-2018_11_30-03_00_01.sql,里面有多张,现在需要恢复其中fdc_document这张数据 提取建表语句 sed -e '/....d;}' -e 'x;/CREATE TABLE `名`/!d;q' mysqldump.sql(备份文件的文件名) sed -e '/./{H;$!...40101 SET character_set_client = @saved_cs_client */; 提取数据 grep 'INSERT INTO名' mysqldump.sql(备份文件的文件名...,就可以正常恢复数据了 建库建 先创建数据库,再根据上面的SQL语句创建fdc_document 导入数据 MySQL [document]> souce /data/backup/mysql/

    92410

    mysql存储量

    网上常说mysql2kw就需要考虑分了,但生产中我们也用过2亿的,而且毫无压力。所以记录一下为什么2kw就要分是依据什么原理,生产大概要注意什么。...这里分析聚簇索引,包括一整条数据,假设一数据1k,那么一个页就是16/1=16数据。所以第三层的数据有1368900*16=21902400,2千多万。...但是一般mysql到了第三层就差不多了,只需要通过3次IO,就可以读取到数据所在的叶子结点的页。至于提取需要的记录,则需要在内存中进行一次条件匹配。2 扩展这里2kw的原理就是这样的假设前提的。...如果是个小,一数据不够1k,如0.1k,则第三层为2kw*2=2亿,3次IO也是问题。如果就是1k,256亿以内的记录,也就是4次IO,真的有想象中的那么不堪吗?不一定!...4、为什么6 byte存储地址这是因为MySQL在32位系统上使用4字节来存储指针,而在64位系统上使用8byte来存储指针。为了在不同系统上保持兼容性,MySQL选择了6byte作为指针的存储长度。

    27320

    MySQL恢复步骤详解

    万幸的是,只是写花了,而不是哪位大神在DB里面玩drop table。...虽然已经很久没进行恢复了,但大致步骤都还在脑海中,没花多久就搞定了~ 言归正传,记录一下恢复的步骤和关键点,提醒自己也提醒大家。...及这条SQL开始的时间点,及下一SQL的开始时间点,这2个pos位置非常重要 # at 20393709 #131205 20:55:08 server id 18984603 end_log_pos....000123',master_log_pos=20394238; 从上面两命令我们看出,第二步得到的两个pos位置很关键。...第五步: 基本DBA的事情就没有了,这时候就需要告诉开发同学恢复完毕,进行应用测试及数据正确性效验了。如果一切都没有问题之后,我们需要将刚才rename的drop掉,整个恢复操作就算大功告成了。

    2.2K10

    MySQL查询详细解析

    一、关键字的执行优先级   1,from:找到   2,where:拿着where指定的约束条件,去文件/中取出一数据   3,group by:将取出的一数据进行分组,如果没有group...100   3,in(80,90,100)   4,like 'ee%' 模糊匹配,%表示任意多字符,_表示一个字符   5,逻辑运算符:在多个条件直接可以用逻辑运算符 and or not #1:条件查询...每个人都有唯一的id号,我count是计算一下分组之后每组有多少的id记录,通过这个id记录我就知道每个组有多少人了 关于集合函数,mysql提供了以下几种聚合函数:count、max、min、avg、...,总共显示3数据 select * from t1 order by salary desc limit 0,5;  #起始位为0,即从第一开始,总共显示5数据 select * from t1...order by salary asc limit 2,6;    #起始位为2,即从第三开始,总共显示6数据 八、使用正则表达式查询 之前用的like是模糊匹配,只有%和_,具有局限性,查询的时候其实可以用我们之前学正则

    2.6K11

    mysql一张到底能存多少数据

    前言 程序员平时和mysql打交道一定不少,可以说每天都有接触到,但是mysql一张到底能存多少数据呢?计算根据是什么呢?...接下来咱们逐一探讨 知识准备 数据页 在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB。同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL数据页大小是16KB。...了解了节点的概念和每个节点的大小为16kb之后,咱们计算mysql能存储多少数据就容易很多了 具体计算方法 根节点计算 首先咱们只看根节点 比如我们设置的数据类型是bigint,大小为8b ?...,是直接包含整条mysql数据的,如果字段非常多的话数据所占空间是不小的,我们这里以1kb计算,所以在第三层,每个节点为16kb,那么每个节点是可以放16个数据的,所以最终mysql可以存储的总数据为...1170 * 1170 * 16 = 21902400 (千万级) 其实计算结果与我们平时的工作经验也是相符的,一般mysql一张数据超过了千万也是得进行分操作了。

    2.9K30
    领券