跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 对单表数据达到 10GB/10000 条的数据, 用 MySQL 如何存储, 查询速度更快?
未分類
9 7 月 2020

对单表数据达到 10GB/10000 条的数据, 用 MySQL 如何存储, 查询速度更快?

对单表数据达到 10GB/10000 条的数据, 用 MySQL 如何存储, 查询速度更快?

資深大佬 : RickyC 7

大家能否给讲解一下, 需要用到哪些特别的技术?

和一般的小型数据的增删改查有什么不同?

谢谢

大佬有話說 (25)

  • 資深大佬 : saulshao

    10GB/10000 = 1MB/条,这就需要你详细描述一下到底有个什么样的字段它特别大了。
    再就是你需要使用什么样的查询条件?获取什么样的结果集?

  • 資深大佬 : hyq

    1. 合适地添加索引
    2. 可以考虑用 tokudb 的压缩数据库引擎,可以更快地修改表结构,更快查询,占用空间更小
    3. 如果对查询的效率要求比较高,可以考虑下列式存储的数据库
    4. 如果增删改查都比较频繁,并且数据库格式比较简单,可以考虑 redis 这类内存数据库

  • 主 資深大佬 : RickyC

    @saulshao

    1. 1MB/条, 是因为有一个大的 JSON 字段, 存储一些用于计算的数据
    2. 查询条件很复杂, 最终要得到的是那个大的 json; 是通过对其他列数据的筛选, 最终得到 json

  • 資深大佬 : kiracyan

    @RickyC json 单独存放

  • 主 資深大佬 : RickyC

    @kiracyan json 如何单独存放? 存在另外一个表里?

  • 資深大佬 : ChoateYao

    1 万条数据 /10G,不是索引的问题,是磁盘 IO 和网络 IO 问题,你用 MySQL 怎么处理都不可能避免这一部分。

  • 資深大佬 : kiracyan

    @RickyC 存另外表也可以 存 mongodb 获者其他的也行 具体要看你业务的

  • 資深大佬 : 594duck

    @RickyC 加配置,这是撑 IO 和配置撑的上的事情。

  • 資深大佬 : bthulu

    数据库里不存这个 json, 直接按 id 名写到文件里. 查询到 id 后, 直接读这个文件就行了

  • 資深大佬 : saulshao

    上(9#)的建议已经很中肯了,如果你不需要查询这个 Json 本身,就这么办最合适。
    这个其实就按照常规的做法来做就行,你可以试试看写入 10000 行数据需要多久,查询的瓶颈应该不在于查询本身,而是查询完成后加载结果集的时间会非常长。

  • 資深大佬 : murmur

    10gb 这个应该是对象存储了,如果是文本的话得弄全文索引,mysql 不行,这怕是一行就是一本色库全书

  • 資深大佬 : gainsurier

    才 10000 条就不要用 MySQL 了

  • 資深大佬 : Mac

    瓶颈不在数据库种类,而是 io

  • 資深大佬 : wangyzj

    这个取决于你要怎么查询
    是否有 全文索引等等

  • 資深大佬 : opengps

    标题里的 10GB/10000 条 是啥意思?
    10G 有问题,还是 10000 条有问题?把斜线理解成或者,那么几乎没区别,把单行数据理解为 10M,那这个过程太耗时确实会出现一些 io 等问题

  • 資深大佬 : mosliu

    如果不需要那串 json 参与查询的话
    json 单独存放 文件、hbase 等都可以
    然后 mysql 存一个指向列表
    搜索做好索引。

  • 資深大佬 : xsm1890

    大字段 json 建议单独存储,再 mysql 存储一个指向。。mysql 是按页存储数据的,为 16k,数据过大出现大量的行迁移,查询性能及写入性能都不会很好

  • 資深大佬 : kanepan19

    存文件,比如 OSS.
    要全文检索的, 同步到 es 里去.

  • 資深大佬 : luckoct

    感觉存到 mongodb 挺合适

  • 資深大佬 : pkupyx

    不如直接存文件,mysql 指向 URL

  • 資深大佬 : wentaoliang

    mysql 只存一个 uuid,拿 uuid 做 key 存到 hbase 里

  • 資深大佬 : creatdate

    我都是在数据库里存地址路径 FilePath,把 json 、xml 、图片、pdf 文件改名,直接放磁盘上,目前还没见过有人把文件存数据库的。(事实上如果文件内容相对固定且 size 很小,我认为放数据库也没什么不妥)

  • 主 資深大佬 : RickyC

    @hyq
    @kiracyan
    @ChoateYao
    @kiracyan
    @594duck
    @bthulu
    @saulshao
    @murmur
    @Mac
    @mosliu
    @xsm1890
    @kanepan19
    @luckoct
    @pkupyx
    @wentaoliang
    @creatdate

    谢谢

  • 資深大佬 : h123123h

    mysql 存 id,根据 id 去 es 或者 mongodb 去查?

  • 資深大佬 : northernlights

    一看到这标题就感觉不正常,你是把图片放数据库里了吧?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具