0 0

表有千万数据怎么办5

由于种种历史原因,有张业务表的数据累积了一千万
大概1千个用户,每个用户拥有的数据量是没规律,最高可能有200万,最少可能才1条。
原来表是MyISAM,加了索引后增删查改还是挺快的,现在有个业务要事务回滚,改成InnoDB,感觉速度慢了一倍都不止。
不管怎么样,这表还是要拆分才行,请问有没什么拆分规则可以参考一下。
2013年12月05日 16:58

4个答案 按时间排序 按投票排序

0 0

hash散列数据到多个表;若今后还有其它业务数据要存储,建议再按业务做一个分库;目前我们的日志系统就是这么做的,一个业务下多少子业务线就有多少个库,其次表按照hash散列100或者500不等表数据,根据个人数据量来恒定。

2013年12月11日 01:04
0 0

我记得以前我们是按照时间分的,oracle的,dba做的 ,我们用户不用管

2013年12月06日 12:07
0 0

怎么会乱啊?
难道你一次查询出1000W条?
不都是分页吗?一页显示100条 而已。有什么乱的呀,  无非就是 N个select的语句。
这是唯一方法吧。 还有其他的查询方法吗?
一个用户的数据在一个表里面啊?
用户 11  就是第一个表,12,第二个表,13  第三个表,14第四个表,21 第一个表,

这个不就是一个用户数据肯定在一个表里面了吗?
多个用户的数据在一个表里面呀。

你说的散列就是 查询数据 做统计的时候  不好弄。 就是分页。

10张表, 默认从第一张表,查询数据,

创建一张  count表  myisam  引擎就可以,  配置一个  禁止锁表的条件。要不你用innodb引擎吧,还带事务。
记录  这 10张表的 count数量。
为10张表都创建一个  增删的 触发器,  来触发 count表的数据
count表
id    tablename        recordcount
         表名                记录数



表1,表2,,,,,表10


查询的时候,默认从主表查询,表1   。  10 张表的总记录数 肯定知道,根据总记录数可以知道 总页数,然后可以知道一共多少页。
然后 每个表的记录数也知道, 那么每个表的总页数也知道。每个表的页数也知道。

例如:

总页数是100页,
表1是 1-10页,表2是1-20页,表3是1-15页。依次类推

下标是1,2,3,4,5,6,7,8,,,,,100

点击每一页的时候,看看是不是当前表的最大总页数,如果是,切换到下一张表,当点击11的时候,就是表2的数据了。以此类推。


不知道我这种是否可行。 

2013年12月06日 09:22
0 0

那就根据用户分呗 才1000多人哦?
1000多人的相关数据都在一张表里面,
id  模 10  ,10张表呗,
一张表就100多W 了。
不过还是不均匀呀。 呵呵。

数据库不是有分区吗?  直接使用分区试试。我是没用过的。

分库分表用过。还是简单的。

2013年12月05日 17:38

相关推荐

    mysql 千万数据表 t_order.zip

    本文将深入探讨如何管理和优化存储着千万级别数据的表,以"t_order"为例,该表可能存在于您提供的压缩包文件"t_order.sql"中。 一、数据库设计与规范 在设计千万级别的数据表时,遵循数据库设计范式至关重要。"t_...

    oracle千万级别数据简单操作

    在Oracle数据库中处理千万级别的数据时,合理的表空间管理和分区策略是非常重要的。以下是从给定的部分内容中提取的关键步骤: 1. **创建表空间**: - 创建了三个表空间:`dinya_space01`、`dinya_space02` 和 `...

    Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

    在 Oracle 数据库中,如果删除了大量数据(千万级别),可能会出现查询变慢的问题。下面我们将分析这个问题的原因,并提供解决方案。 问题的原因主要有两个方面: 1. 表空间的增长:当删除大量数据后,表空间可能...

    百万条数据测试表

    "百万条数据测试表"这样的资源为开发者提供了一个理想的平台,用于实践和学习如何有效地管理、查询以及优化大数据集。以下将详细探讨这个资源相关的知识点: 1. **大数据处理**: 大数据不仅是指数据量大,它还...

    人工智能-项目实践-数据预处理-多线程(线程数可调节),处理千万级mysql数据表,预处理+数据迁移到新表

    在IT行业中,数据预处理是数据分析和机器学习项目的关键步骤,尤其当面对大规模数据库时,如千万级的MySQL数据表。本项目实践聚焦于利用多线程技术来提高数据处理和迁移的效率,同时允许线程数的动态调节,以适应...

    kettle全量多表数据同步

    ### Kettle全量多表数据同步 #### 一. 建立资料库 在进行全量多表数据同步之前,首先需要建立一个资源库来存放所有的转换和作业。资源库是Kettle的一个核心概念,它用于存储和管理转换、作业和其他与数据处理相关...

    45-MySQL单表2000万数据查询慢解决方案1

    每个分区有4条数据,查询结果正确。 分区删除 我们可以使用命令`alter table tuser drop partition p1;`删除第一个分区,分区内的数据也将被删除。 新建分区 我们可以使用命令`alter table tuser add partition ...

    java实现csv导出千万级数据实例

    本实例聚焦于“java实现csv导出千万级数据实例”,旨在提供一个高效、稳定的解决方案,避免因数据量过大而导致的性能问题,如Java中的栈溢出(Stack Overflow)。CSV(Comma Separated Values)格式因其简单、通用性...

    easyExcel千万级别数据下载

    当我们面临千万级别的数据量时,传统的Excel处理方式可能会遇到性能瓶颈,甚至导致内存溢出。这时,`EasyExcel`这样的工具就显得尤为重要。`EasyExcel`是阿里巴巴开源的一款基于Java的高效、低内存消耗的Excel读写...

    千万级数据分页查询存储过程SQLServer

    在SQL Server中,面对千万级别的大数据量,进行有效的分页查询是数据库性能优化的重要环节。存储过程在这种场景下显得尤为重要,因为它们可以提高查询效率,减少网络传输,并且便于管理和重用代码。本文将深入探讨...

    千万数量级分页存储过程,可支持多表查询,任意排序

    本文详细介绍了如何设计一个能够支持千万数量级数据处理的分页存储过程,包括了多表查询的支持、任意排序功能的实现以及高效的数据获取策略等关键知识点。通过对这些技术点的理解和掌握,可以有效地提高数据库应用的...

    Oracle导Mysql适用于百、千万级别数据迁移

    Oracle导Mysql适用于百、千万级别数据迁移,速度是kettle的10倍以上数据库迁移 数据迁移 千万级 亿万级数据,MySQL oracle关系型 现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库...

    千万级分页存储过程 实现对表的数据分页 速度非常快

    在处理海量数据时,传统的全表扫描或简单地通过LIMIT进行分页的方法效率极低,尤其是在数据量达到千万甚至亿级别时。此时,采用基于索引的分页策略显得尤为重要。千万级分页存储过程的核心在于利用索引进行高效的...

    qt快速加载并动态显示大容量数据能够加载千万行量级的数据

    1. **数据分页**:分页是将大表数据分成若干个小块(页面),每次只加载和显示一页的数据,而不是一次性加载全部。这种方式减少了内存消耗,提高了响应速度。在Qt中,可以自定义一个信号槽机制,当用户滚动或点击...

    Oracle_数据库中的海量数据处理

    这有助于简化复杂查询并提高查询效率。 2. **集成性**:数据仓库整合来自不同数据源的数据,确保一致性,并消除冗余。 3. **随时间变化**:数据仓库记录历史数据,以供趋势分析等使用。 4. **非易失性**:一旦数据...

    解决Oracle表删除大量数据后查询变慢问题

    Oracle 表删除大量数据后,即使表中只有几行记录,但用select count(*) from table 来查询发觉都不会马上出来,原因是该表的空间大了

    大数据分表,SQL千万级分表

    特别是当单个表的数据量达到数百万甚至千万级别时,对查询速度、数据更新效率以及系统整体稳定性的影响尤为显著。为了解决这些问题,一种常见的策略就是进行“分表”。本文将通过一个具体的案例来探讨如何针对千万...

    (1)Kettle数据抽取---全量抽取

    对于全量抽取的业务表,我们需要 truncate 表,以便将数据清空,然后再将数据重新插入表中。这可以使用“执行 SQL”控件来实现。例如,我们可以在“执行 SQL”控件中输入以下 SQL 语句:`TRUNCATE TABLE tablename;`...

    适用于Delphi的完整文本数据快速排序去重代码,可以对几百万几千万数据快速处理

    在处理几百万甚至几千万级别的数据时,快速排序能够提供比其他线性时间复杂度的排序算法更高的性能。 去重则是另一个关键步骤,特别是在处理大量文本数据时,确保数据唯一性是非常重要的。常见的去重方法有哈希表、...

    mysql千万级数据脚本测试shardingjdbc-course.zip

    在千万级数据测试中,这些脚本可能用于模拟实际业务场景,例如,创建课程表,插入大量课程记录,然后进行各种查询操作,以此来验证ShardingJDBC的分片策略和性能。 在SQL方面,以下是一些关键知识点: 1. **索引...

Global site tag (gtag.js) - Google Analytics