mysql15--垂直分表水平分表
阿新 • • 發佈:2018-01-09
mysql 支持 post 示意圖 拆分 engine 技術分享 分割 set
?分表技術(表的結構不能變) 分表技術有(水平分割和垂直分割) 當一張越來越大時候,即使添加索引還慢的話,我們可以使用分表 以qq用戶表來具體的說明一下分表的操作. 思路如圖 : 首先我創建三張表 user0 / user1 /user2 , 然後我再創建 uuid表,該表的作用就是提供自增的id, 插入的時候插入到不同的表中去。 走代碼: create table user0( id int unsigned primary key , name varchar(32) not null default ‘‘, pwd varchar(32) not null default ‘‘) engine=myisam charset utf8; create table user1( id int unsigned primary key , name varchar(32) not null default ‘‘, pwd varchar(32) not null default ‘‘) engine=myisam charset utf8; create table user2( id int unsigned primary key , name varchar(32) not null default ‘‘, pwd varchar(32) not null default ‘‘) engine=myisam charset utf8; create table uuid( id int unsigned primary key auto_increment)engine=myisam charset utf8;
n 垂直分割,把列拆分到不同的表。示意圖:
一句話: 如果一張表某個字段,信息量大,但是我們很少查詢,則可以考慮把這些字段,單獨的放入到一張表中,這種方式稱為垂直分割. 數據庫只存儲路徑。圖片和文件存放在文件系統,甚至單獨放在一臺服務器(圖床 / 視頻服務器 ). 數據庫是可以存視頻的。 mysql.ini: port = 3306 端口是可以改的。 max_connections=200 ,mysql是中型數據庫,2000並發數是極限。但是做好緩存之後可以支持10萬沒問題。也可以做讀寫分離集群。 query_cache_size=15M,查詢緩存的大小。 innodb引擎,所以下面兩個參數調的很大 innodb_additional_mem_pool_size = 64M innodb_buffer_pool_size =1G //緩存池 對於myisam,需要調整key_buffer_size 當然調整參數還是要看狀態,用show status語句可以看到當前狀態,以決定改調整哪些參數 如果你的機器內存超過4G,那麽毋庸置疑應當采用64位操作系統和64位mysql 5.5.19,位越大是尋址範圍越大,
mysql15--垂直分表水平分表