mhtt
V2EX  ›  问与答

开发还可以怎么优化?

  •  
  •   mhtt · May 20, 2016 via iPhone · 3173 views
    This topic created in 3826 days ago, the information mentioned may be changed or developed.
    目前我们用 PHP+Mysql 来开发,因为需求一些变化, Mysql 中会不断的增加表,在一些表中增加键值,除了上 NOSQL 外,还有什么办法优化解决这一痛苦?
    19 replies  •  2016-05-20 16:31:04 +08:00
    WildCat
    WildCat
    May 20, 2016
    1
    migration?
    hpeng
    hpeng
    May 20, 2016 via iPhone
    2
    MySQL 我是用 Json 加虚列。然而痛苦并没有减少多少。
    yyfearth
    yyfearth
    May 20, 2016
    3
    用 EAV 模式可以从一定程度上解决这个问题 不过会导致整体复杂度大幅增加
    而且没办法用外键约束 join 起来也麻烦很多
    说白了就是吧 MySQL 当作 NoSQL 用

    @hpeng 用 Json/xml 可以保存一些不重要不需要索引的列 否则就一定要增加新列了
    JSON 里面的数据普通的查询都没办法 更不要说排序索引了
    mhtt
    mhtt
    OP
    May 20, 2016
    4
    @WildCat nosql?
    @hpeng 嗯。
    dxwwym
    dxwwym
    May 20, 2016 via iPhone
    5
    @mhtt 魔性的头像
    hpeng
    hpeng
    May 20, 2016 via iPhone
    6
    @yyfearth 你肯定没用过 5.7 以上的
    yyfearth
    yyfearth
    May 20, 2016
    7
    @hpeng 不要说 5.7 了 生产环境还是 5.3 少数 5.4 PHP 还是 5.2.x 的
    就算有新功能也不能用啊
    jarlyyn
    jarlyyn
    May 20, 2016 via Android
    8
    Json
    armoni
    armoni
    May 20, 2016
    9
    开发过程中就加,正式上线后还增加字段就用自定义字段的办法去做
    sujin190
    sujin190
    May 20, 2016
    10
    其实我想知道, nosql 中没有固定格式,你们数据读出来之后如何知道当前数据格式呢?难道要判断版本然后一版本一版本兼容?多改几个版本你们还记得最早的数据结构为什么是这样的么?
    mahone3297
    mahone3297
    May 20, 2016
    11
    加就加呗,问题在哪里?
    Evovil
    Evovil
    May 20, 2016
    12
    @sujin190 so 你可以使用一些可以向下兼容各种版本的序列化方案 :- > Google Protobuf.
    或者自己做向下兼容的序列化方案(比如反射)
    fork3rt
    fork3rt
    May 20, 2016 via iPhone
    13
    遇到同样问题,最后是 MySQL+MongoDB
    sujin190
    sujin190
    May 20, 2016
    14
    @Evovil 这是存数据库的。。你这样搞怎么查询,怎么用索引
    changwei
    changwei
    May 20, 2016
    15
    @hpeng 你还要考虑到 php 在进行 json_decode 的效率损失啊,本身 php 执行这种字符串操作运算效率就不是很高
    hpeng
    hpeng
    May 20, 2016 via iPhone
    16
    @changwei 我没写过 php 噢,写 java 的。
    cxbig
    cxbig
    May 20, 2016
    17
    正常不过,你要是玩过 Magento 就知道,新装 300+table ,其中经常打交道的 150+。
    mhtt
    mhtt
    OP
    May 20, 2016
    18
    @fork3rt 主要是我不想用 nosql 的想法太强烈了
    @cxbig 难道这样,不感觉痛苦?
    cxbig
    cxbig
    May 20, 2016
    19
    @mhtt
    RDBMS 虽然表会很多,设计上需要花的心力也多,但是数据操作比较稳定。
    NoSQL 在数据结构上自由度很高,但是一些特定条件的键值搜索计算上,性能还不及 RDBMS
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4262 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 144ms · UTC 07:22 · PVG 15:22 · LAX 23:22 · JFK 02:22
    ♥ Do have faith in what you're doing.