zoukankan      html  css  js  c++  java
  • bulk參數 小青年

    bulk參數

    :bulk => true可以讓變更資料庫欄位的Migration更有效率的執行,如果沒有加這個參數,或是直接使用add_columnrename_columnremove_column等方法,那麼Rails會拆開SQL來執行,例如:

    change_table(:users) do |t|
     t.string :company_name
     t.change :birthdate, :datetime
    end

    會產生:

    ALTER TABLE `users` ADD `im_handle` varchar(255) ALTER TABLE `users` ADD `company_id` int(11) ALTER TABLE `users` CHANGE `updated_at` `updated_at` datetime DEFAULT NULL

    加上:bulk => true之後:

    change_table(:users, :bulk => true) do |t|
     t.string :company_name
     t.change :birthdate, :datetime
    end

    會合併產生一行SQL

    ALTER TABLE `users` ADD COLUMN `im_handle` varchar(255), ADD COLUMN `company_id` int(11), CHANGE `updated_at` `updated_at` datetime DEFAULT NULL

    這對已有不少資料量的資料庫來說,會有不少執行速度上的差異,可以減少資料庫因為修改被Lock鎖定的時間。

    本段来自:

    http://ihower.tw/rails3/migrations.html

  • 相关阅读:
    tensorflow入门(三)
    tensorflow入门(二)
    setTimeout
    PreResultListener
    sql 删除重复记录
    oracle dual表用途及结构详解
    oracle中的dual表
    Dubbo远程调用服务框架原理与示例
    struts2和spring的两种整合方式
    Timer和TimerTask详解
  • 原文地址:https://www.cnblogs.com/perish/p/2623398.html
Copyright © 2011-2022 走看看