mysql 索引刪除
簡介:在本教程中,您將學習如何使用mysql drop index語句刪除表的現有索引。
mysql drop index語法
要從表中刪除現有索引,請使用以下drop index語句:
drop index index_name on table_name
[algorithm_option | lock_option];
在這個語法中:
首先,指定要在drop index關鍵字後刪除的索引的名稱。
其次,指定索引所屬的表的名稱。
演算法algorithm_option允許您指定用於索引中刪除特定的演算法。以下顯示了algorithm_option子句的語法:
algorithm [=]
對於索引刪除,支援以下演算法:
copy:表逐行複製到新錶,drop index然後在原始表的副本上執行。併發資料操作語句例如
inplace:表被重建到位而不是複製到新錶。mysql在索引刪除操作的準備和執行階段期間在表上發出獨佔元資料鎖。演算法允許併發資料操作語句。
請注意,algorithm子句是可選項。如果你跳過它,mysql會使用inplace。如果inplace不支援,mysql使用copy。
使用default與省略algorithm子句具有相同的效果。
鎖lock_option控制併發的電平讀出並同時索引被移除的表寫操作。
以下顯示了以下語法lock_option:
lock [=]
支援以下鎖定模式:
default:這允許您具有給定演算法的最大併發級別。首先,如果支援,它允許併發讀取和寫入。如果不支援,如果支援則允許併發讀取。如果不是,請強制執行獨佔訪問。
none:如果none支援,則可以進行併發讀寫。否則,mysql會發出錯誤。
shared:如果shared支援,則可以進行併發讀取,但不能寫入。如果不支援併發讀取,mysql會發出錯誤。
exclusive:這會強制執行獨佔訪問。
mysql drop index示例
讓我們為演示建立乙個新錶:
create table leads(
lead_id int auto_increment,
first_name varchar(100) not null,
last_name varchar(100) not null,
email varchar(255) not null,
information_source varchar(255),
index name(first_name,last_name),
unique email(email),
primary key(lead_id)
以下語句從leads表中刪除name索引:
drop index name on leads;
以下語句使用特定演算法並鎖定leads表中的email索引:
drop index email on leads
algorithm = inplace
lock = default;
mysql drop primary key索引
要刪除primary主鍵的索引,請使用以下語句:
drop index `primary` on table_name;
以下語句建立乙個以t主鍵命名的新錶:
create table t(
pk int primary key,
c varchar(10)
要刪除主鍵索引,請使用以下語句:
drop index `primary` on t;
在本教程中,您學習了如何使用mysql drop index語句刪除表的現有索引。
mysql死鎖後狀態 mysql如何解除死鎖狀態
第一種 前提條件 找到執行非常慢的sql 如何找呢 還原客戶遇到的問題場景,從控制台找到所執行的sql,一句句的去執行,直到找到執行非常慢的sql 1.查詢是否鎖表 show open tables where in use 0 2.查詢程序 如果您有super許可權,您可以看到所有執行緒。否則,您...
world 文件保護如何解除
解除word文件保護三種方法 方法一 插入檔案法 啟動word,新建乙個空白文件,執行 插入 檔案命令,開啟插入檔案對話方塊,定位到需要解除保護的文件所在的資料夾,選中相應文件,單擊插入按鈕,將加密保護的文件插入到新文件中,文件保護會被自動撤銷。方法二 檔案另存法 開啟保護的文件,執行 檔案 另存為...
物件導向 如何解除具體依賴
解除依賴就是松耦合,松耦合就一定好嗎?當然不是程式的耦合度與內聚度要放在一起說,當然,對於領域層來說,適當的減少類與類之間的依賴是很有必要的,看下面我的這段 乙個例子,乙個訂單系統,它根據國家有不同的下單方法,對於低層 層 是一樣的,但對於領域層,也叫業務邏輯層,它是不一樣的,可能小日本下單打 拍,...