mysql数据超10亿条,大型主键:超过10亿行MySQL + InnoDB?

I was wondering if InnoDB would be the best way to format the table? The table contains one field, primary key, and the table will get 816k rows a day (est.). This will get very large very quick! I'm working on a file storage way (would this be faster)? The table is going to store ID numbers of Twitter Ids that have already been processed?

Also, any estimated memory usage on a SELECT min('id') statement? Any other ideas are greatly appreciated!

解决方案

The only definitive answer is to try both and test and see what happens.

Generally, MyISAM is faster for writes and reads, but not both at the same time. When you write to a MyISAM table the entire table gets locked for the insert to complete. InnoDB has more overhead but uses row-level locking so that reads and writes can happen concurrently without the problems that MyISAM's table locking incurs.

However, your problem, if I understand it correctly, is a little different. Having only one column, that column being a primary key has an important consideration in the different ways that MyISAM and InnoDB handle primary key indexes.

In MyISAM, the primary key index is just like any other secondary index. Internally each row has a row id and the index nodes just point to the row ids of the data pages. A primary key index is not handled differently than any other index.

In InnoDB, however, primary keys are clustered, meaning they stay attached to the data pages and ensure that the row contents remain in physically sorted order on disk according to the primary key (but only within single data pages, which themselves could be scattered in any order.)

This being the case, I would expect that InnoDB might have an advantage in that MyISAM would essentially have to do double work -- write the integer once in the data pages, and then write it again in the index pages. InnoDB wouldn't do this, the primary key index would be identical to the data pages, and would only have to write once. It would only have to manage the data in one place, where MyISAM would needlessly have to manage two copies.

For either storage engine, doing something like min() or max() should be trivial on an indexed column, or just checking the existence of a number in the index. Since the table is only one column no bookmark lookups would even be necessary as the data would be represented entirely within the index itself. This should be a very efficient index.

I also wouldn't be all that worried about the size of the table. Where the width of a row is only one integer, you can fit a huge number of rows per index/data page.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河南大学计算机与信息工程学院张磊,张磊-食品与生物工程学院

【学术简介】学习经历:2008年9月-2013年6月,江苏大学,机械制造与自动化专业,博士学位。教学及研究经历:2013年7月-至今,江苏大学教师。【主讲课程】硕士研究生:《食品物理学》本科生&#xff1a…

21种mysql_让MySQL飞起来!别小看这21种写SQL的好习惯

前言每一个好习惯都是一笔财富,本文分SQL后悔药、SQL性能优化、SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~​一、SQL后悔药1、操作delete或者update语句,加个limit在执行删除或者更新语句&#xff0…

vue create()获取ref_vue-next+typescript 初体验

无意间又一次刷到了尤大介绍 Vue 3 的文章,这次决定试一下 Vue 3 的 TypeScript 支持到底如何,不管别人说什么,只有自己用的舒服才是真的舒服。Vue 2 可是因为 ts 的缘故被喷的很惨,来看看 Vue 3 如何吧。值得注意的是&#xff0c…

怎么分辨学校计算机sql版本,怎么筛选出每个年级每个学校有多少个班级

SQL code学校代码 学校名称 年级 班级 姓名 学籍号 考号 语文 数学 品德 科学2 寿安 3 1 王佳浩 1.1518E11 302001 93 88 50 492 寿安 3 2 王玉娇 1.1518E11 302002 95 97 50 502 寿安 3 1 杨宇航 1.1518E11 302003 96 100 49 502 寿安 3 1 张梦婷 1.1518E11 302007 93 92 49 5…

递归算法1加到100_五种循环方法计算1加到100

上文讲过1加到100,详细解释了计算的过程&#xff0c;如果理解了以前的文章&#xff0c;就容易理解今天的内容了。1加到100使用VBA我能使用十来种方法&#xff0c;以下也是一种方法。While ……wend循环 Private Sub CommandButton1_Click()s 0i 1While i < 100s s ii …

武汉大学计算机学院参考书目,2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情...

原标题&#xff1a;2020武汉大学计算机与软件工程考研初试科目、参考书目及复试详情本文将由新祥旭徐老师全方位的对武汉大学计算机专业考研进行解析&#xff0c;主要有以下几个板块&#xff1a;学院介绍&#xff0c;专业情况介绍&#xff0c;2019录取情况分析&#xff0c;考研…

mysql数据库里的表格_mysql数据库中表记录的玩法

一、增加表记录(相当于插入表记录)1. 插入完整数据(顺序插入)语法一&#xff1a;INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);语法二&#xff1a;INSERT INTO 表名 VALUES (值1,值2,值3…值n);2. 指定字段插入数据语法&#xff1a;INSERT INTO 表名(…

培训学校计算机助教是干嘛的,【助教】的意思是什么?【助教】是什么意思?...

【助教】的意思是什么&#xff1f;【助教】是什么意思&#xff1f;以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;【助教】的意思是什么&#xff1f;【助教】是什么意思&#xff1f; 【助教…

常用符号计算机输入法,九种常用输入法特殊符号功能揭密 【计算机与医学】...

九种常用输入法特殊符号功能揭密 【计算机与医学】Shift&#xff0b;Esc组合键快速调出软键盘&#xff0c;按住Shift键后按动Esc键&#xff0c;就会在多个软键盘之间切换&#xff0c;按Esc键即可关闭软键盘。极点中文把特殊符号分为22种类型&#xff0c;并进行了特殊编码&#…

python写的贪吃蛇小游戏_Python贪吃蛇小游戏

贪吃蛇1. 导入游戏库# 1.导入库import pgzrunimport random2.游戏初始化# 2.初始化# 窗口大小WIDTH 600HEIGHT 480# 贪吃蛇bodys [ [100,100],[80,100], [60,100], [40,100], [20,100]]head [100,100]d right# 食物food [290,290]# 得分score03.游戏窗口绘制def draw():#…

云服务器怎么管理,第一次使用云服务器,如何使用和管理云服务器

云服务器的两节课和管理使用其实非常简单,windows 自带了一个远程桌面的软件,利用这个远程桌面,我们可以很轻松容易的管理远在天边的服务器,就和您亲自做在远程服务器的电脑前一样!现在我们看看如何使用他吧!在开始 - 程序 - 附件 - 远程桌面 ,如图:如在附件里面找不到这个 远程…

python语言基础实验_实验二Python语言基础函数包练习.doc

实验二Python语言基础函数包练习实验 Python语言基础函数包练习&#xff1a;1208 学号&#xff1a;实验目的1、Python语言包&#xff0c;如math、NumPySciPy和Matplotlib等函数包的使用实验内容统计可视化Step 1. 导入编程所需要包&#xff1a;Step 2. 柱状图可视化&#xff1a…

文件管理服务器数据库,Oracle数据库服务器参数文件管理教程

一、在启动的时候指定参数文件。在启动数据库的过程中&#xff0c;必须要提供一个准确的初始化参数文件&#xff0c;无论是文本参数文件还是服务器参数文件。在利用Startup命令启动数据库的时候&#xff0c;可以指定其采用的服务器参数文件。不过在这里需要注意一个细节&#x…

MySQL回闪_MySQL进行BINLOG回闪

MySQL数据恢复前段时间因为要保证数据恢复的质量&#xff0c;写了一个进行回滚的脚本。binglog2sql工具介绍binglog2sql是一款用于解析binlog的工具&#xff0c;纯Python开发&#xff0c;安装需要有Python环境&#xff1b;安装git clone https://github.com/danfengcao/binlog2…

163邮箱有传真服务器,网易企业邮箱邮件传真功能使用说明

网易企业邮箱邮件传真功能是网易在用户购买网易企业邮箱时附赠的增值服务&#xff0c;管理员通过在企业邮箱管理后台给员工邮箱设置邮件传真号码&#xff0c;员工便可在WebMail直接收发电子传真&#xff0c;无需通过传真机。此功能需要联系经销商协助开通。一、管理员端如何开通…

ajax 折叠,ASP.NET AJAX可折叠面板Accordion应用实例

通常来讲&#xff0c;将一个无比长的列表直接显示给用户是一种极不礼貌的行为。对此&#xff0c;解决方案有很多&#xff0c;归类显示就是其中之一。类似我们常见的QQ或MSNMessage的联系人归类等&#xff0c;系统将用户管理中心的操作菜单归类显示&#xff0c;并应用背景图片&a…

navicat mysql 建表语句_Navicat for MySQL怎么/如何创建数据表?Navicat for MySQL创建数据表教程_斗蟹游戏网...

【斗蟹攻略】Navicat for MySQL是针对MySQL数据库管理而研发的管理工具&#xff0c;创建数据表是其最基本操作&#xff0c;下面就由斗蟹小编介绍Navicat for MySQL创建数据表的方法。Navicat for MySQL创建数据表教程步骤一&#xff1a;新建连接运行Navicat数据库管理工具&…

华为服务器显示003,设置BIOS - RH2288H V3 服务器 V100R003 用户指南 41 - 华为

在服务器的远程虚拟控制台的菜单栏中&#xff0c;单击。关于登录远程虚拟控制台的详细操作步骤&#xff0c;请参见登录远程虚拟控制台。选择“重启”。弹出“你确认要执行这个操作吗&#xff1f;”提示框。单击“是”。服务器进行重启。服务器重启时&#xff0c;当出现如下界面…

mysql隔离级别和mvcc_数据库MVCC和隔离级别的关系是什么?

谢邀。首先我要指出问题中提出的各种概念非常混乱。简单梳理下&#xff1a;早期数据库不论读取还是写入&#xff0c;都用锁来实现。但是锁会带来性能的问题。人们尝试各种优化方案。写入和读取的优化方式不同。对于数据库写入操作&#xff0c;没有特别好的办法&#xff0c;因为…

java 模拟平台_用Java程序模拟登陆网站平台

由于想测试性能&#xff0c;想模拟多个用户同时登陆系统进行访问&#xff0c;于是写了一个例子。代码如下&#xff1a;URL url null;HttpURLConnection httpurlconnection null;try {url new URL("http://www.****.com");httpurlconnection (HttpURLConnection) …