亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 2386 | 回復(fù): 0
打印 上一主題 下一主題

MyISAM表鎖的解決方案 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-11-29 22:06 |只看該作者 |倒序?yàn)g覽

針對(duì)MyISAM表鎖的解決方案

BODY { FONT-FAMILY:Tahoma; FONT-SIZE:10pt } P { FONT-FAMILY:Tahoma; FONT-SIZE:10pt } DIV { FONT-FAMILY:Tahoma; FONT-SIZE:10pt } TD { FONT-FAMILY:Tahoma; FONT-SIZE:10pt }
最近服務(wù)器上經(jīng)常出現(xiàn)mysql進(jìn)程占CPU100%的情況,使用show processlist命令后,看到出現(xiàn)了很多狀態(tài)為L(zhǎng)OCKED的sql。使用show status like 'table%'檢查Table_locks_immediate和Table_locks_waited,發(fā)現(xiàn)Table_locks_waited偏大。出問題的表是MyISAM,分析大概是MyISAM的表鎖導(dǎo)致。

MyISAM適合于讀頻率遠(yuǎn)大于寫頻率這一情況。而我目前的應(yīng)用可能會(huì)出現(xiàn)在某一時(shí)段讀寫頻率相當(dāng)。大致如下:

  • 一個(gè)客戶端發(fā)出需要長(zhǎng)時(shí)間運(yùn)行的SELECT
  • 其他客戶端在同一個(gè)表上發(fā)出INSERT或者UPDATE,這個(gè)客戶將等待SELECT完成
  • 另一個(gè)客戶在同一個(gè)表上發(fā)出另一個(gè)SELECT;因UPDATE或INSERT比SELECT有更高有優(yōu)先級(jí),該SELECT將等待UPDATE或INSERT完成,也將等待第一個(gè)SELECT完成

也就是說對(duì)MyISAM表的讀操作,不會(huì)阻塞其他用戶對(duì)同一表的讀請(qǐng)求,但會(huì)阻塞對(duì)同一表的寫請(qǐng)求;對(duì) MyISAM表的寫操作,則會(huì)阻塞其他用戶對(duì)同一表的讀和寫操作;MyISAM表的讀操作與寫操作之間,以及寫操作之間是串行的!

解決方案大概有如下幾種:
  • MyISAM存儲(chǔ)引擎有一個(gè)系統(tǒng)變量concurrent_insert,專門用以控制其并發(fā)插入的行為,其值分別可以為0、1或2。

    • 0 不允許并發(fā)操作
    • 1 如果MyISAM表中沒有空洞(即表的中間沒有被刪除的行),MyISAM允許在一個(gè)進(jìn)程讀表的同時(shí),另一個(gè)進(jìn)程從表尾插入記錄。這也是MySQL的默認(rèn)設(shè)置。
    • 2 無論MyISAM表中有沒有空洞,都允許在表尾并發(fā)插入記錄

  • 使用--low-priority-updates啟用mysqld。這將給所有更新(修改)一個(gè)表的語句以比SELECT語句低的優(yōu)先級(jí)。在這種情況下,在先前情形的最后的SELECT語句將在INSERT語句前執(zhí)行。
  • 為max_write_lock_count設(shè)置一個(gè)低值,使得在一定數(shù)量的WRITE鎖定后,給出READ鎖定
  • 使用LOW_PRIORITY屬性給于一個(gè)特定的INSERT,UPDATE或DELETE較低的優(yōu)先級(jí)
  • 使用HIGH_PRIORITY屬性給于一個(gè)特定的SELECT
  • 使用INSERT DELAYED語句
    綜合自己的業(yè)務(wù)需求,使用了方案2。看來需要不斷監(jiān)測(cè)服務(wù)器狀態(tài),再進(jìn)行更合適的調(diào)整。

    參考資料:
    http://hfhwan.javaeye.com/blog/375611
    http://www.javaeye.com/topic/211951
    http://521dd.blog.sohu.com/106627345.html

    本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/66227/showart_2106880.html
  • 您需要登錄后才可以回帖 登錄 | 注冊(cè)

    本版積分規(guī)則 發(fā)表回復(fù)

      

    北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年舉報(bào)專區(qū)
    中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
    感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP