[英]How do I know if a mysql table is using myISAM or InnoDB Engine?
在MySQL中,無法為特定數據庫指定存儲引擎,僅針對單個表。 但是,您可以指定在一個會話期間使用的存儲引擎:
SET storage_engine=InnoDB;
因此,您不必為每個表指定它。
如果確實所有表都使用InnoDB,我如何確認?
如果使用SHOW CREATE TABLE,則必須從查詢中解析引擎。
從INFORMATION_SCHEMA數據庫中選擇是不好的做法,因為開發者保留隨時更改其模式的權利(盡管不太可能)。
要使用的正確查詢是SHOW TABLE STATUS - 您可以獲取有關數據庫中所有表的信息:
SHOW TABLE STATUS FROM `database`;
或者對於特定的表格:
SHOW TABLE STATUS FROM `database` LIKE 'tablename';
您將獲得的其中一個欄目是Engine。
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db name' AND ENGINE != 'InnoDB'
show create table <table>
應該可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.