gpt4 book ai didi

mysql - 如何解释 MySQL EXPLAIN 的输出?

转载 作者:IT王子 更新时间:2023-10-28 23:49:51 24 4
gpt4 key购买 nike

我想从 entrytable 中选择 text 列的内容。

EXPLAIN SELECT text
FROM entrytable
WHERE user = 'username' &&
`status` = '1' && (
`status_spam_user` = 'no_spam'
|| (
`status_spam_user` = 'neutral' &&
`status_spam_system` = 'neutral'
)
)
ORDER BY datum DESC
LIMIT 6430 , 10

该表有三个索引:

  • index_user(用户)
  • index_datum(基准)
  • index_status_mit_spam(状态、status_spam_user、status_spam_system)

EXPLAIN 结果是:

id  select_type     table       type    possible_keys                       key         key_len     ref     rows    Extra
1 SIMPLE entrytable ref index_user,index_status_mit_spam index_user 32 const 7800 Using where; Using filesort
  • possible_keys 是 MySQL 可能想要使用的索引,而 keys 是 MySQL 实际使用的索引吗?
  • 为什么不使用索引index_status_mit_spam?在查询中,列的顺序与索引中的相同,...
  • 为什么ORDER BY不使用索引index_datum
  • 如何优化我的表索引或查询? (上面的查询最多需要 3 秒,表中有大约一百万个条目)

最佳答案

回答您的问题:

您需要了解索引会加快读取速度并减慢写入表的速度。所以只添加索引并不总是一个好主意。上述答案和提示应该可以帮助您获得扎实的理解。

关于mysql - 如何解释 MySQL EXPLAIN 的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14137549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com