mysql 内存溢出_mysql - MySQL在非常大的表上计算性能 - 堆栈内存溢出
我在Innodb中有一个表格,其中有超过1亿行。
我必须知道外键= 1时是否有超过5000行。我不需要确切的数字。
我做了一些测试:
=> 16 seconds => 16秒中
=> 16 seconds => 16秒中
=> 0.6 seconds => 0.6秒
我的网络和治疗时间会更长一些,但可能会超过15.4秒!
你有更好的主意吗?
谢谢
编辑:[添加了OP的相关评论]
我尝试从WHERE fk = 1表中选择SELECT SQL_NO_CACHE COUNT(fk),但是花了25秒
使用Mysql Tuner为Innodb调整了Mysql。
CREATE TABLE table ( pk bigint(20) NOT NULL AUTO_INCREMENT,
fk tinyint(3) unsigned DEFAULT '0',
PRIMARY KEY (pk), KEY idx_fk (fk) USING BTREE )
ENGINE=InnoDB AUTO_INCREMENT=100380914 DEFAULT CHARSET=latin1
DB资料:
'have_innodb', 'YES' 'ignore_builtin_innodb', 'OFF' 'innodb_adaptive_hash_index', 'ON'
'innodb_additional_mem_pool_size', '20971520' 'innodb_autoextend_increment', '8'
'innodb_autoinc_lock_mode', '1' 'innodb_buffer_pool_size', '25769803776'
'innodb_checksums', 'ON' 'innodb_commit_concurrency', '0',
'innodb_concurrency_tickets', '500' 'innodb_data_file_path',
'ibdata1:10M:autoextend' 'innodb_data_home_dir', '', 'innodb_doublewrite', 'ON'
'innodb_fast_shutdown', '1' 'innodb_file_io_threads', '4'
'innodb_file_per_table', 'OFF', 'innodb_flush_log_at_trx_commit', '1'
'innodb_flush_method', '' 'innodb_force_recovery', '0' 'innodb_lock_wait_timeout', '50'
'innodb_locks_unsafe_for_binlog', 'OFF' 'innodb_log_buffer_size', '8388608'
'innodb_log_file_size', '26214400' 'innodb_log_files_in_group', '2'
'innodb_log_group_home_dir', './' 'innodb_max_dirty_pages_pct', '90'
'innodb_max_purge_lag', '0' 'innodb_mirrored_log_groups', '1' 'innodb_open_files',
'300' 'innodb_rollback_on_timeout', 'OFF' 'innodb_stats_on_metadata', 'ON'
'innodb_support_xa', 'ON' 'innodb_sync_spin_loops', '20' 'innodb_table_locks', 'ON'
'innodb_thread_concurrency', '8' 'innodb_thread_sleep_delay', '10000'
'innodb_use_legacy_cardinality_algorithm', 'ON'
更新'15:到目前为止,我一直使用相同的方法,每天有6亿行和64万新行。 它仍然可以正常工作。
mysql 内存溢出_mysql - MySQL在非常大的表上计算性能 - 堆栈内存溢出相关推荐
- mysql 机器复制_MySQL复制在同一台机器上
这怎么解释MySQL在同一台机器上的复制. 你有很大的命中,数据库驱动的站点和性能,冗余,安全性现在被考虑在内. DBA现在由很多手指输入,寻求一些很好的解决方案,使幸福的脸孔.所以这里有一些单词,如 ...
- mysql查询表变量_MySQL 之SQL语言、表库操作、查询及变量精讲
SQL语言 1. SQL语言组成部分 DDL:定义语言 (create.drop.alter) DML:操作语言 (insert.delete.update.select) DCL: 控制语言 (gr ...
- mysql 复制数据_MySQL快速复制数据库数据表的方法
某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如 ...
- 内存泄漏java例子_一次线上Java应用内存泄漏分析实例
由于JVM的内存管理采用GC垃圾自动回收机制,这使得Java程序员在编程的时候确实可以从内存管理中释放出来,但这也引发了另外一个大问题,一旦Java应用出现内存泄漏的时候,常常让人措手不及,陷入无从下 ...
- java 内存泄漏样例_一次线上Java应用内存泄漏分析实例
由于JVM的内存管理采用GC垃圾自动回收机制,这使得Java程序员在编程的时候确实可以从内存管理中释放出来,但这也引发了另外一个大问题,一旦Java应用出现内存泄漏的时候,常常让人措手不及,陷入无从下 ...
- linux占内存小的浏览器,基于μCLinux嵌入式操作系统上的浏览器内存管理策略研究详解...
0 引言 在嵌入式系统中,由于设备性能限制系统总的可分配内存相对较小,而在嵌入式平台上浏览器正常运行所需内存一般都比较大,并且内存分配和释放操作也比较频繁,例如,IPTV EPG界面上显示各类菜单按钮 ...
- mysql 连接 内存溢出_mysql - MySQL中止连接未知错误 - 堆栈内存溢出
我使用多jdbc执行全表查询以进行数据迁移. 当我使用并行的75个jdbc查询每个表有近3000000行的差异表时,我发现MySQL在所有数据返回到jdbc之前中止了一个连接. 慢日志: Time: ...
- mysql utf8mb4 错_mysql - MySQL utf8mb4,保存Emojis时出错 - 堆栈内存溢出
我尝试从MySQL数据库中的服务中保存用户的名称. 这些名字可以包含像
- 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解
主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...
最新文章
- git设置忽略文件和目录
- 翻译:WebApi 认证--用户认证Oauth解析
- ABAP事物码SFW5里business function前面的双箭头图标是什么含义
- [转]各种字符集和编码详解
- SerialPort comstat is being used without defining
- 代理模式——HeadFirst设计模式学习笔记
- 病毒侵袭(HDU-2896)
- Java基础篇:简单数据类型
- tornado Python mysql_python tornado mysql 内容管理后台部署
- 一个基于 SpringBoot2+redis+Vue 的商城管理系统,拼团、砍价、秒杀等都有,可二次开发接私活!...
- java runnable 匿名_Java 开发者最困惑的四件事
- 从苏宁电器到卡巴斯基第28篇:难忘的三年硕士时光 VI
- OBS 进阶之 DXGI 采集屏幕流程,并如何修改为自己的光标
- hibernate执行完查询操作后又执行许多更新操作
- matlab+nbiot,基于STM32L4+BC28(全网通) NBIOT开发板原理图教程源码等开源分享
- Python输入日期判断是这一年的第几天
- 使用react制作点赞组件
- 快速傅里叶变换(FFT)和逆快速傅里叶变换(IFFT)
- session 生命周期,cookie详解
- iphone 6plus 输出的屏幕尺寸 375 ,667的原因 - 简书