mysql表的性能提升的相關(guān)問(wèn)題
DROP PRIMAY DEY用于取消主索引。
注釋:在MySQL較早的版本中,如果沒(méi)有主索引,則DROP PRIMARY KEY會(huì)取消表中的第一個(gè)UNIQUE索引。在MySQL 5.1中不會(huì)出現(xiàn)這種情況。如果在MySQL 5.1中對(duì)沒(méi)有主鍵的表使用DROP PRIMARY KEY,則會(huì)出現(xiàn)錯(cuò)誤信息。
如果您向表中添加UNIQUE KEY或PRIMARY KEY,則UNIQUE KEY或PRIMARY KEY會(huì)被儲(chǔ)存在非唯一索引之前,這樣MySQL就可以盡早地檢查出重復(fù)關(guān)鍵字。
ORDER BY用于在創(chuàng)建新表時(shí),讓各行按一定的順序排列。注意,在插入和刪除后,表不會(huì)仍保持此順序。當(dāng)您知道多數(shù)情況下您會(huì)按照特定的順序查詢各行時(shí),可以使用這個(gè)選項(xiàng);在對(duì)表進(jìn)行了大的改動(dòng)后,通過(guò)使用此選項(xiàng),您可以提高查詢效率。在有些情況下,如果表按列排序,對(duì)于MySQL來(lái)說(shuō),排序可能會(huì)更簡(jiǎn)單。
如果您對(duì)一個(gè)MyISAM表使用ALTER TABLE,則所有非唯一索引會(huì)被創(chuàng)建到一個(gè)單獨(dú)的批里(和REPAIR TABLE相同)。當(dāng)您有許多索引時(shí),這樣做可以使ALTER TABLE的速度更快。
這項(xiàng)功能可以明確激活。ALTER TABLE...DISABLE KEYS讓MySQL停止更新MyISAM表中的非唯一索引。然后使用ALTER TABLE ... ENABLE KEYS重新創(chuàng)建丟失的索引。進(jìn)行此操作時(shí),MySQL采用一種特殊的算法,比一個(gè)接一個(gè)地插入關(guān)鍵字要快很多。因此,在進(jìn)行成批插入操作前先使關(guān)鍵字禁用可以大大地加快速度。使用ALTER TABLE ... DISABLE KEYS除了需要獲得以前提到的權(quán)限以外,還需要獲得INDEX權(quán)限。
【編輯推薦】