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

MySQL十四:最大2000W行数据

转载~ 在互联网技术圈中有一个说法:「MySQL 数据量大于 2000 W行,性能会明显下降」。网传这个说法最早由百度传出,真假不得而知。但是却成为了行业内一个默认的标准。...超过2000W行数据一定会导致性能下降吗?我认为是不一定的,虽然说建议不超过2000W,但是我不接受它的建议可不可以?那必然也是可以的。...一、最大到底能存多少数据 先来看看下面这张图,了解一下mysql各个类型的大小 我们知道在MySQL是支持主键自增长的,不考虑其他因素的前提下,理论上只有主键没有用完,中的数据就可以一直增加。...「主键类型为tinyint时」 主键8位,数据最大为255,Id自增超过255就会报错 「由此可見:MySQL能够存储的数据在一定程度上受限与主键的类型。...但是数据量的大小却跟2000W没啥影响,既然百度大佬推荐最大2000W行数据,那肯定不会是空口白话,一定定会有其他影响行数的因素」。

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

MySQL-操作

SELETE selete 选项 字段列表 FROM 数据 在上述语法中,“selete选项”默认值为All,表示保存所有查询到的记录;当设置为DISINCT时,表示去除重复记录,只保留一条。...FROM 数据名 [WHERE 条件表达式] ORDER BY 字段 ASC|DESC LIMIT 记录数 UPDATE和DELETE操作中添加ORDER BY 表示根据指定的字段,按顺序更新或删除符合条件的记录...分组与聚合函数 分组 在MySQL中,可以使用GROUP BY 根据一个或多个字段进行分组,字段值相同的为一组。另外对于分组的数据可以使用HAVING进行条件筛选。...函数名 描述 COUNT() 返回参数字段的数量,不统计为NULL记录 SUM() 返回参数字段值和 AVG() 返回参数字段的平均值 MAX() 返回参数字段的最大值 MIN() 返回参数字段的最小值...数组返回 JSON_OBJECTAGG() 将符合条件的参数字段作为单个JSON对象返回 运算符 常用数学函数 运算符 描述 CEIL(x) 返回大于等于x的最小整数 FLOOR(x) 返回小于等于x的最大整数

2K10

MySQL&约束&事务

DQL操作 排序 # 通过 ORDER BY 子句,可以将查询出的结果进行排序(排序只是显示效果,不会影响真实数据) SELECT 字段名 FROM 名 [WHERE 字段 = 值] ORDER...; SELECT 聚合函数(字段名) FROM 名; 聚合函数 作用 count(字段) 统计指定列不为NULL的记录行数 sum(字段) 计算指定列的数值和 max(字段) 计算指定列的最大值 min...最小薪水、薪水的平均值 3 查询薪水大于4000员工的个数 4 查询部门为’教学部’的所有员工的个数 5 查询部门为’市场部’所有员工的平均薪水 SQL实现 #1 查询员工的总数 -- 统计中的记录条数...ALTER TABLE emp2 DROP PRIMARY KEY; --主键的自增 # 主键如果让我们自己添加很有可能重复,我们通常希望在每次插入新记录时,数据库自动生成主键字段的值 -- 创建主键自增的...MySQL 事务隔离级别 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库. 数据库的相同数据可能被多个事务同时访问,如果不采取隔离措施,就会导致各种问题, 破坏数据的完整性。

1.2K30

mysql-查询

语法: 一、查询的语法    SELECT 字段1,字段2... ...from 2.拿着where指定的约束条件,去文件/中取出一条条记录 3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组 4.将分组的结果进行having过滤...%小时任意多字符,_表示一个字符 5.逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not 验证结果:where条件约束 1 :条件查询 mysql> select id,name from...#2、分组指的是:将所有记录按照某个相同字段进行归类,比如针对员工信息的职位分组,或者按照性别进行分组等 #3、为何要分组呢?     ...operation | | sale      | | teacher   | | 公关部    | +-----------+ 4 rows in set (0.00 sec) (3)聚合函数 max()求最大

4.3K20

mysql存储量

网上常说mysql2kw就需要考虑分了,但生产中我们也用过2亿的,而且毫无压力。所以记录一下为什么2kw就要分是依据什么原理,生产大概要注意什么。...1 存储原理这里只关注B+树的存储图片在MySQL中,为了保存内存地址,通常使用6字节来存储指针。...但是一般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作为指针的存储长度。

24720

MySQL恢复步骤详解

万幸的是,只是写花了,而不是哪位大神在DB里面玩drop table。...虽然已经很久没进行恢复了,但大致步骤都还在脑海中,没花多久就搞定了~ 言归正传,记录一下恢复的步骤和关键点,提醒自己也提醒大家。...第四步: 在主库上将写花的改名,其目的有二个,其一,停止对这个的写入(当然这对业务会有一定的影响,会出现一段时间内的写入失败报警,需要提前和业务部门联系好),其二,一旦恢复失败,至少还有一个写花的存在...ppassword -S/tmp/mysql.sock < tablename.sql 当然也可以不这么麻烦,直接执行如下命令,但是个人习惯处于保存历史操作记录和中间结果的需要,我都是按照以上步骤完成,...### 快速的方法可以按照如下操作,在还原机上的命令 mysql -uusername -ppassword -S /tmp/mysql.sock dbname tablename | mysql -uusername

2.2K10

MySQL查询详细解析

一、关键字的执行优先级   1,from:找到   2,where:拿着where指定的约束条件,去文件/中取出一条条数据   3,group by:将取出的一条条数据进行分组,如果没有group...*12,是因为我们通过查询语句查询出来的也是一张,但是这个是不是内存当中的一个虚拟,并不是我们硬盘中存的那个完整的,对吧,虚拟是不是也有标题和记录啊, 既然是一个,我们是可以指定这个虚拟的标题的...name, salary*12 AS Annual_salary FROM employee; #as + 新字段名,就是起一个别名的意思,上面的那个salary*12的字段名也是一个别名,只不过不直观,是MySQL...100   3,in(80,90,100)   4,like 'ee%' 模糊匹配,%表示任意多字符,_表示一个字符   5,逻辑运算符:在多个条件直接可以用逻辑运算符 and or not #1:条件查询...,通过这个id记录我就知道每个组有多少人了 关于集合函数,mysql提供了以下几种聚合函数:count、max、min、avg、sum等,上面的group_concat也算是一个聚合函数了,做字符串拼接的操作

2.6K11

MySQL多表查询

1.查询 #查询语法 select from where group by field 分组...  2.where #通过where指定的约束条件,去中提取记录   3.group by #进行分组,如果没有group by,则按整体为一组   4.having   #将分组的结果进行过滤...name like 'wu%'; 1.2.group by分组查询 #分组:指的是将所有记录按照某个相同字段进行归类,比如针对员工信息的职位分组,或性别分组等 #注意1:分组是发生在where之后,...#提示:聚合函数聚合的是组的内容,如果没有分组,默认为一组 1.max() #求最大值 2.min() #求最小值 3.avg() #求平均值 4.sum() #求和 5.count()...-+--------+------+--------+------+--------------+ 6 rows in set (0.00 sec) #4.全外连接:使用union连接 #显示左右两个全部记录

14.5K40

MySql系列(1)——查询

1.查询所有字段 SELECT * FROM 名称; 例如查询book中所有的数据: select * from book; ?...2.查询指定字段 SELECT 字段1,字段2,字段3...FROM 名称; 例如查询book中的书籍名称: select bookName from book; ?...3.WHERE条件查询 SELECT * FROM 名称 WHERE 条件表达式; 例如查询book中书价格低于60的书籍名称: select bookName from book where...4.带In关键字查询 SELECT * FROM 名称 WHERE 字段 [NOT] IN (元素1,元素2,元素3); 注意:该字段查询结果后是元素1,元素2和元素3; 例如查询book中书的价格是...12.LIMIT分页查询 SELECT * FROM 名称 LIMIT 初始位置,每页记录数; 例如stu中共有8条数据,按照分页查询,每页有3条数据: select * from stu limit

2.5K30

MySQL查询(精简笔记)

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。...MySQL提供了功能强大、灵活的语句来实现这些操作,下面将介绍如何使用SELECT语句查询数据中的一列或多列数据、使用集合函数显示查询结果....首先,MySQL从数据中查询数据的基本语句为SELECT语句,SELECT语句的基本格式如下: MariaDB [none]> SELECT [predicate] { * | table.* |...,而只是对数据进行总结.MySQL提供一些查询功能,可以对获取的数据进行分析和报告,这些函数的功能有:计算数据记录行数的总数、计算某个字段列下数据的总和,以及计算中某个字段下的最大值、最小值或者平均值...功能:max()返回指定列中的最大值 实例1: 在test1中,查询item_price字段中最大的数据,SQL语句如下: MariaDB [lyshark]> select * from test1

4.8K10

mysql怎样导入? && 从binlog提取指定

每个ROW_EVENT还有个TABLE_MAP_EVENT来记录元数据信息, 比如字段类型, 名等信息 (不包含字段名字)所以我们只需要解析出这几个EVENT即可...., 并保存下来如果 匹配名成功 则记录该EVENT如果是 row_event则匹配刚才的库信息, 成功则记录下来如果是GTID_EVENT直接记录下来, 这是事务的开头如果是 XID_EVENT记录下来判断...记录的event队列长度, 大于等于4 则表示 又成功匹配上的 则写入新文件清空event队列其它EVENT 则跳过(seek)思路还是比较简单的....table 匹配需要的名信息python binlogFtable.py /data/mysql_3314/mysqllog/binlog/m3314.000002 --database ibd2sql...binlog并导入数据库 来实现恢复.

20511
领券