› 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
wjfz
V2EX  ›  MySQL

要不要用触发器?

  •  1
     
  •   wjfz · Nov 2, 2015 · 6035 views
    This topic created in 4027 days ago, the information mentioned may be changed or developed.
    优点:代码逻辑会简单一点;
    缺点:怕以后接手的哥们儿不好处理。

    所以你是怎么选择的?
    19 replies  •  2015-11-03 12:02:45 +08:00
    neoblackcap
    neoblackcap
    Nov 2, 2015❤️1
    1
    有 DBA 的可以上,没有的话,你还能指望每个 RD 都能填你数据库的坑?
    yangtukun1412
    yangtukun1412
    Nov 2, 2015
    2
    很多云平台是不支持 trigger 的
    Felldeadbird
    Felldeadbird
    Nov 2, 2015❤️1
    3
    支持 1 楼。 触发器这东西嘛,用得好的话,省事省力。但是用不好的话,坑死人。特别是 大多数开发都兼顾 DB 设计。 大多数都不会用触发器的。毕竟 一不小心,掉坑了
    southwolf
    southwolf
    Nov 2, 2015❤️1
    4
    好多 MySQL 的项目连外键都不用 更不用说视图、触发器、存储过程啥的了……
    linnchord
    linnchord
    Nov 2, 2015 via iPhone❤️1
    5
    原则上不用,除非个别极端情况。例如希望在不修改代码的情况下实现某些逻辑。
    pelloz
    pelloz
    Nov 2, 2015❤️1
    6
    除非你们有专门的 DBA 去维护,要不然不要用那些东西。逻辑请直接写到代码里面,数据库就只管存数据。
    dong3580
    dong3580
    Nov 2, 2015❤️1
    7
    千万不要,千万不要,千万不要。
    上次全部更换数据库,存储过程和触发,改的想死,
    ruchee
    ruchee
    Nov 2, 2015❤️2
    8
    观点同 @neoblackcap @Felldeadbird @southwolf
    没专业 DBA 坐镇,别用这些高级玩意,数据库,存取数据就完成使命了,逻辑全部写在代码里,清晰易懂,还可以纳入版本管理
    echo1937
    echo1937
    Nov 2, 2015❤️2
    9
    触发器和外键之类的高级性能,对 DB 的性能,扩展和维护都会带来额外负担,你获得的那点好处,完全值不回以后要填的坑。

    毕竟 DB Server 的扩展难度可比 App Server 大得多,所以即使团队有专业 DBA ,一般也不会推荐你用触发器。
    bearzk
    bearzk
    Nov 2, 2015❤️1
    10
    我们有专业 DBA 用了 trigger 效果也不错 不过他不在的时候我们都不确定咋搞这个 无奈 所以建议还是不要用了
    UtopiaCHN
    UtopiaCHN
    Nov 2, 2015 via iPhone
    11
    测试
    wizardforcel
    wizardforcel
    Nov 2, 2015❤️1
    12
    如果你以后打算一直用 mysql 就用。
    virusdefender
    virusdefender
    Nov 2, 2015❤️1
    13
    能把逻辑写代码的我都写代码,尽量与数据库无关,以后拓展也方便些
    Zzzzzzzzz
    Zzzzzzzzz
    Nov 2, 2015
    14
    @southwolf 虽说 DB 里减少使用这些是为了维护和迁移, 但是 MySQL 里用得不多主要是这些功能早年都没有。。。。
    xAx
    xAx
    Nov 2, 2015❤️2
    15
    项目一直用的 oracle,除了索引、视图、序列,其他全部 [禁止] 使用。

    一是使项目与数据库无关。二是代码中表现出来的业务逻辑是完整的。三是代码就能完成,没事去弄数据库做什么。
    更重要的是:反正我是不知道触发器、存储过程什么的怎么打断点去调试。
    kiwi95
    kiwi95
    Nov 2, 2015
    16
    @southwolf 视图用的还是挺多的,其他的却是不太常用
    akira
    akira
    Nov 2, 2015❤️1
    17
    见仁见智了。
    反正个人是完全不建议使用触发器的,不管是为了避免未来的数据库迁移 /维护,还是更换开发 /维护人员,没有触发器都是会更容易。
    chenzhuo
    chenzhuo
    Nov 3, 2015
    18
    用个触发器还要有 dba 才行?
    realpg
    realpg
    Nov 3, 2015❤️1
    19
    发到 MySQL 板块,告诉你千万别用的十有八九是搞 PHP 的…………

    真正大型项目,存储过程常态化,触发器满地。
    做好文档。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5004 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 178ms · UTC 02:27 · PVG 10:27 · LAX 18:27 · JFK 21:27
    ♥ Do have faith in what you're doing.