1
我有計劃創建一個分析表。每月約100萬條記錄可插入表格中。幫助我更好地優化和快速獲取記錄。 或者我已計劃每月拆分表(在服務器上運行cron以創建表),所有插入操作都會將行插入到相應的月份表中。 這是更好的設計表格的方法。我該如何分區這個表格?
請在數據庫設計建議
我有計劃創建一個分析表。每月約100萬條記錄可插入表格中。幫助我更好地優化和快速獲取記錄。 或者我已計劃每月拆分表(在服務器上運行cron以創建表),所有插入操作都會將行插入到相應的月份表中。 這是更好的設計表格的方法。我該如何分區這個表格?
請在數據庫設計建議
我建議拆分數據庫。更多信息可以在這裏找到importance of sharding
和接近MySQL sharding。希望這可以幫助。
記住數據庫是爲了解析大量數據 – ikromm
向我們展示表定義可能會有所幫助:但假設您正在添加分析記錄,最明顯的是[分區](http:// dev。 mysql.com/doc/refman/5.6/en/partitioning.html)對照創建日期的列,按年或按月/年 - 但如果您爲每個月/每年創建一個表,則會遇到問題實例有人想要季度或年度總結,或與去年本月的比較 –
'code' CREATE TABLE IF NOT EXISTS'webanalytics_mm_yy'( 'id' bigint(20)NOT NULL AUTO_INCREMENT, 'companyid' bigint(20) NOT NULL, 'visits_count' int(8)NOT NULL, 'country_name' varchar(64)NOT NULL, 'referal_source' varchar(128)NOT NULL, 'source_name' varchar(128)NOT NULL COMMENT'This based on source given the name', 'created_date' datetime NOT NULL, 'ip_address' varchar(128)NOT NULL , PRIMARY KEY('id') )ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 63; –