課程
/后端開發
/PHP
/輕松學會Laravel-基礎篇
laravel怎么分表分庫?
2016-11-18
源自:輕松學會Laravel-基礎篇 4-1
正在回答
分庫干啥?
一般一個項目就連接一個數據庫啊,一個庫里放上百十張表都沒問題的?在config都設置了,反正我是沒用過分庫,你可以在百度查查。
ReallyWangGod
如果是用MySQL做DB,可以用ENGINE=MRG_MyISAM 實現水平分表,原理和實例,自行Google一下。
核心點:
1、合并表(負責查詢,不存數據,ENGINE=MRG_MyISAM)、子表(負責增/刪/改,ENGINE=MyISAM)
2、除引擎類型外,表結構需要完全一致
3、子表的主鍵必須全局唯一,利用合并表的查詢結果,主鍵不能出現重復的。比如:通過php自帶uniqid函數,封裝一個方法是個選擇
拿posts表舉例,兩個字段:id,title
合并表: posts
子表按季度分:
posts_201501
posts_201502
posts_201503
posts_201504
...
插入數據的時候,判斷當前時間決定插入哪張表,比如現在,則插入post_201501表
取數據的時候,和Eloquent平常用法一致,省了很多分表帶來的處理邏輯代碼
其他
1、migrations里面,自己寫個合并表和子表的構造程序即可
2、這種水平分表,對原代碼的改動比較小,不用處理復雜的跨表查詢邏輯,所以覺得還挺方便的
3、MyISAM不支持事務,但查詢方面強于InnoDB,這種做法比較適合分拆查詢業務,數據過大的表
4、沒在實踐項目中用過,僅參考,Have fun~
手機用戶曾小亂 提問者
舉報
Laravel框架基礎視頻教程,輕松入門,了解Laravel的優勢
1 回答laravel數據庫
3 回答$students as $student 分別代表什么
3 回答laravel視頻教程怎么下載啊
5 回答laravel
2 回答laravel
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-11-22
分庫干啥?
一般一個項目就連接一個數據庫啊,一個庫里放上百十張表都沒問題的?在config都設置了,反正我是沒用過分庫,你可以在百度查查。
2016-11-19
如果是用MySQL做DB,可以用ENGINE=MRG_MyISAM 實現水平分表,原理和實例,自行Google一下。
核心點:
1、合并表(負責查詢,不存數據,ENGINE=MRG_MyISAM)、子表(負責增/刪/改,ENGINE=MyISAM)
2、除引擎類型外,表結構需要完全一致
3、子表的主鍵必須全局唯一,利用合并表的查詢結果,主鍵不能出現重復的。比如:通過php自帶uniqid函數,封裝一個方法是個選擇
拿posts表舉例,兩個字段:id,title
合并表: posts
子表按季度分:
posts_201501
posts_201502
posts_201503
posts_201504
...
插入數據的時候,判斷當前時間決定插入哪張表,比如現在,則插入post_201501表
取數據的時候,和Eloquent平常用法一致,省了很多分表帶來的處理邏輯代碼
其他
1、migrations里面,自己寫個合并表和子表的構造程序即可
2、這種水平分表,對原代碼的改動比較小,不用處理復雜的跨表查詢邏輯,所以覺得還挺方便的
3、MyISAM不支持事務,但查詢方面強于InnoDB,這種做法比較適合分拆查詢業務,數據過大的表
4、沒在實踐項目中用過,僅參考,Have fun~