MySQL InnoDB 表數(shù)據(jù)頁或者二級(jí)索引頁(簡(jiǎn)稱數(shù)據(jù)頁或者索引頁)的合并與分裂對(duì) InnoDB 表整體性能影響很大;數(shù)據(jù)頁的這類操作越多,對(duì) InnoDB 表數(shù)據(jù)寫入的影響越大。
成都網(wǎng)站建設(shè)公司更懂你!創(chuàng)新互聯(lián)公司只做搜索引擎喜歡的網(wǎng)站!成都網(wǎng)站制作前臺(tái)采用搜索引擎認(rèn)可的DIV+CSS架構(gòu),全站HTML靜態(tài),H5頁面制作+CSS3網(wǎng)站,提供:網(wǎng)站建設(shè),微信開發(fā),成都小程序開發(fā),商城網(wǎng)站建設(shè),成都app軟件開發(fā)公司,空間域名,服務(wù)器租售,網(wǎng)站代托管運(yùn)營,微信公眾號(hào)代托管運(yùn)營。
MySQL 提供了一個(gè)數(shù)據(jù)頁合并臨界值(MERGE_THRESHOLD),在某些場(chǎng)景下,可以人為介入,減少數(shù)據(jù)頁的合并與分裂。
在 InnoDB 表里,每個(gè)數(shù)據(jù)頁默認(rèn)16K 大小,默認(rèn) MERGE_THRESHOLD 值為 50,取值范圍從 1 到 50,默認(rèn)值即是最大值。也就是當(dāng)頁面記錄數(shù)占比小于 50% 時(shí),MySQL 會(huì)把這頁和相鄰的頁面進(jìn)行合并,保證數(shù)據(jù)頁的緊湊,避免太多浪費(fèi)。
我是sql初學(xué)者。
解決你的問題前我想問下,兩個(gè)表有沒有主鍵,更新數(shù)據(jù)是依據(jù)id還是姓名。
兩個(gè)表如果每個(gè)人的id是唯一并且相同則可以根據(jù)id更新,嘗試以下sql語句:
update b1 set b1.score=b2.score
from b1, b2
where b1.id=b2.id
更新姓名只需把score改為name
1、忽略表之間的關(guān)聯(lián)關(guān)系
ALTER TABLE db2.dbo.table NOCHECK CONSTRAINT 關(guān)系名
2、--將沒有重復(fù)的數(shù)據(jù)合并
insert into db2.dbo.table(field1,field2...) select field1,field2... from db1.dbo.table a where a.username not in (select username from db2.dbo.table)
3、將重復(fù)的數(shù)據(jù)寫入臨時(shí)表
select field1,field2... into 新的臨時(shí)表 from db1.dbo.table a where a.username in (select username from db2.dbo.table)