新聞中心
以下是涉及到插入表格的查詢的5種改進(jìn)方法:

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)類烏齊免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1)使用LOAD DATA INFILE從文本下載數(shù)據(jù)這將比使用插入語句快20倍。
2)使用帶有多個(gè)VALUES列表的INSERT語句一次插入幾行這將比使用一個(gè)單行插入語句快幾倍。調(diào)整bulk_insert_buffer_size變量也能提高(向包含行的表格中)插入的速度。
3)可以對(duì)myisam表并行插入Concurrent_insert系統(tǒng)變量可以被設(shè)置用于修改concurrent-insert處理。該變量默認(rèn)設(shè)置為1。如果concurrent_insert被設(shè)置為0,并行插入就被禁用。如果該變量被設(shè)置為2,在表的末端可以并行插入,即便該表的某些行已經(jīng)被刪除。
4)使用插入延遲
如果你的客戶不能或無需等待插入完成的時(shí)候,這招很有用。當(dāng)你使用MySQL存儲(chǔ),并定期運(yùn)行需要很長(zhǎng)時(shí)間才能完成的SELECT和UPDATE語句的時(shí)候,你會(huì)發(fā)現(xiàn)這種情況很常見。當(dāng)客戶使用插入延遲,服務(wù)器立刻返回,如果表沒有被其他線程調(diào)用,則行會(huì)列隊(duì)等待被插入。使用插入延遲的另一個(gè)好處就是從多個(gè)客戶插入的情況會(huì)被綁定并記錄在同一個(gè)block中。這將比處理多個(gè)獨(dú)立的插入要快得多。
5)插入之前將表鎖定(只針對(duì)非事務(wù)處理型的表)
這將提高數(shù)據(jù)庫性能,因?yàn)樗饕彌_區(qū)只是在所有的插入語句完成后才對(duì)磁盤進(jìn)行一次刷新。通常情況下,有多少個(gè)插入語句就會(huì)有多少次索引緩沖區(qū)刷新。如果你可以用一個(gè)插入語句實(shí)現(xiàn)所有行的插入,則無需使用顯式鎖定語句。
要想更快地對(duì)事務(wù)型表插入,你應(yīng)該使用START TRANSACTION和COMMIT語句,而不是LOCK TABLES語句。
當(dāng)前文章:優(yōu)化MySQL插入方法的五個(gè)妙招
標(biāo)題路徑:http://fisionsoft.com.cn/article/djeejdd.html


咨詢
建站咨詢
