文檔:https://github.com/mysqljs/mysqlmysql
mysql有三種建立鏈接方式git
使用時須要對鏈接的建立、斷開進行管理github
建立資源池,使用時不須要對鏈接的建立、斷開進行管理,每次使用完調用一次release進行釋放鏈接到資源池,至於鏈接是否斷開交給資源池去管理。每次創建鏈接時很是消耗資源的,影響性能,所以對鏈接建立合理的管理,有利於提升性能。sql
建立鏈接池集羣,容許與多個host鏈接數據庫
中文文檔:https://github.com/demopark/sequelize-docs-Zh-CN性能
此庫依賴mysql2學習
與mysql庫相比,不須要寫sql語句,增刪查改都封裝成對應的方法。
mysql庫入門比較簡單,有利於學習sql語句
sequelize封裝了一些簡單sql語句,掌握封裝的方法及對應的參數便可,但學習成本稍微高一些,須要建立模式,模式須要與數據庫中的表對應起來。在項目實際開發過程當中,使用sequelize開發效率更高,代碼能夠更加簡短。也有query方法,支持使用sql語句。spa
sequelize提供了一個方法sequelize.sync({ force: true });強制數據庫中的表與模式定義的表進行同步,若是數據庫中存在與模式定義同名的表,此表會被刪除,從新定義。若是數據庫中存在模式未定義的表,不會對其進行操做。
也能夠對單個模式設置強制同步
如:code
// 注意:若是表已經存在,使用`force:true`將刪除該表
User.sync({ force: true }).then(() => { // 如今數據庫中的 `users` 表對應於模型定義
return User.create({ firstName: 'John', lastName: 'Hancock' }); });
強制同步也有風險點:
1.適合在項目初始化,須要建立數據表的時候使用
2.若是數據庫中已有部分數據,當服務重啓時,數據庫中模式定義的表會被刪除,數據會丟失,所以不適合在非初始化時使用,所以在使用時須要判斷是否時初始化的狀況blog
做者:愛扎馬尾的小獅子
連接:https://www.jianshu.com/p/e3bc48b4a050
來源:簡書
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。