2013-09-29 76 views
2

我使用Percona MySQL 5.5.28 Linux系統上的MySQl服務器與ext4文件系統和23 GB RAM,其中15 GB大約分配給MySQL .. .. 我解僱一個查詢類似下面插入忽略.....選擇鎖定表內選擇

INSERT IGNORE INTO table_A SELECT field1,field2,....fieldn FROM table_B; 

上述查詢鎖定表-B .... 由於它改變我對鎖定表-B後解僱查詢。

以上兩代表的InnoDB和我的整個數據庫的操作也僅僅是InnoDB存儲引擎.....

誰能告訴我爲什麼MySQL的鎖定表-B已經在這裏鎖定?

如果可能請讓我知道什麼時候以及哪些查詢將在MySQL中鎖定表?

+0

閱讀[INSERT IGNORE鎖表,即使它忽略插入?](http://stackoverflow.com/questions/18170235/does-insert-ignore-lock-the-table-even-if-it-忽略插入) –

+0

我已閱讀文章之前,但我的問題是爲什麼table_B鎖定...只有3個線程連接一個是我的(根)其他執行改變和另一個執行INSERT IGNORE ... SELECT ...請幫助我 – vidyadhar

回答