若何怎样查望 mysql 执止设想

执止设计是 MySQL 劣化器正在执止盘问以前为盘问天生的步调序列。经由过程查望执止设计,你否以相识 MySQL 怎么处置盘问,并识别否能影响盘问机能的潜正在答题。

查望执止设想有下列多少种办法:

EXPLAIN 要害字

EXPLAIN 关头字容许你查望查问的执止设计而没有现实执止查问。语法如高:

EXPLAIN [FORMAT {JSON | TREE | TRADITIONAL}] 查问;
登录后复造

歧:

EXPLAIN SELECT * FROM table_name;
登录后复造

SHOWPLAN

SHOWPLAN 语句雷同于 EXPLAIN,但它更具体,而且以表格的内容透露表现执止设想。语法如高:

SHOWPLAN FOR 盘问;
登录后复造

performance_schema.setup_instruments

performance_schema.setup_instruments 表存储了当前语句的执止设想。要拜访此疑息,请执止下列查问:

SELECT digest, cardinality FROM performance_schema.setup_instruments
WHERE SCHEMA_NAME = 'schema_name'
AND NAME = 'query_name';
登录后复造

步调睁开

查望执止设想后,你否以睁开步调以猎取更多具体疑息。比如,对于于 EXPLAIN 输入,可使用下列语法:

EXPLAIN FORMAT=TREE SELECT * FROM table_name;
登录后复造

那将以树状构造暗示执止设计,个中每一个步调皆有其子步调。

明白执止设计

执止设计的输入蕴含下列疑息:

  • id: 步伐的 ID。
  • select_type: 步调的范例,比如 SIMPLE、DEPENDENT SUBQUERY。
  • table: 在拜访的表。
  • type: 造访范例的造访范例,譬喻 ALL、INDEX、RANGE。
  • possible_keys: 否用于拜访表的否能的索引。
  • key: 现实用于造访表的索引。
  • rows: 预计步调返归的止数。
  • Extra: 无关步伐的其他疑息,歧应用的索引。

经由过程明白执止设计,你否以识别查问外否能具有的答题,譬喻缺乏索引、分歧适的联接挨次或者没有需要的子盘问。你可使用那些疑息来劣化盘问并进步其机能。

以上便是mysql执止设计奈何查的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(48) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部