› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
yungo8
V2EX  ›  MySQL

数据库字段多了对查询性能影响大吗?两三个字段

  •  
  •   yungo8 · Oct 12, 2022 · 3076 views
    This topic created in 1466 days ago, the information mentioned may be changed or developed.

    项目二次开发,单表就三百万左右数据,水平拆分的,目前一百六十个字段,需要加十多个字段,未来可能继续加到两三百,这样会对查询影响大吗?

    不太想做关联表垂直拆分这样,主要是分库分表配置配一堆,然后还要改 join 查询,绑定表。

    所以想请教一下直接加字段好不好呢?

    虽然我对数据库比较有信心,两三百个字段不至于不行哈哈哈……

    10 replies  •  2022-10-16 11:37:56 +08:00
    shinession
        1
    shinession  
       Oct 13, 2022
    我用 pg ,有个表有 1000 多个字段,200w 数据,单表查询走索引只要 200ms
    nekolr
        2
    nekolr  
       Oct 13, 2022
    pg 不清楚,mysql 行有最大长度限制
    Joker520
        3
    Joker520  
       Oct 13, 2022
    肯定有影响,不然就不会有垂直分表关联这个东西了,我记得 MySQL 是有对每个表有 4096 列的硬限制的
    xaplux
        4
    xaplux  
       Oct 13, 2022   ❤️ 1
    才 300w 数据,问题不大,到时候在拆呗,查询的时候指定字段查询,尽量规避全表字段查询
    Red998
        5
    Red998  
       Oct 13, 2022
    还要加到 200 的字段 为了以后拓展还不如新建一个字表干脆。一味的加字段 设计就有问题。
    yungo8
        6
    yungo8  
    OP
       Oct 13, 2022 via Android
    @shinession 嗯,除了担心分页有没有问题,其它倒还好
    yungo8
        7
    yungo8  
    OP
       Oct 13, 2022 via Android
    @Joker520 还好,我感觉我这个表估计也就三百字段到顶了
    yungo8
        8
    yungo8  
    OP
       Oct 13, 2022 via Android
    @redorblacck886 兄弟你不知道不停加需求赶进度有多恶心……
    chihiro2014
        9
    chihiro2014  
       Oct 13, 2022
    200 个字段好多。。
    sg8011
        10
    sg8011  
       Oct 16, 2022 via Android
    这时候用加一个 JSON 字段会不会好点?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 18:33 · PVG 02:33 · LAX 11:33 · JFK 14:33
    ♥ Do have faith in what you're doing.