gpt4 book ai didi

mysql索引问题

转载 作者:行者123 更新时间:2023-11-30 23:25:37 25 4
gpt4 key购买 nike

我的表有 1,000,000 行和 4 列:

id  cont    stat   message

1 rgrf 0 ttgthyhtg
2 frrgt 0 tthyrt
3 4r44 1 rrttttg
...

我正在执行一个非常慢的选择查询,即使我已经完成了索引

  SELECT * FROM tablea WHERE stat='0' order by id LIMIT 1

这个查询使我的 mysql 非常慢,我检查了 mysql explain 并发现了这个

  explain SELECT * FROM tablea WHERE stat='0' order by id LIMIT 1

我对输出感到震惊,但我不知道如何优化它。

id  select_type  table   type  possible_keys  key  key_len  ref      rows  Extra
1 SIMPLE tablea ref stat stat 4 const 216404 Using where

有 216,404 行用于优化,我必须将其减少到 1 或 2,但如何减少?

最佳答案

问题是 MySQL 只能在查询中为每个表使用一个索引,在您的情况下是索引 stat。因此,ORDER BY 是在不使用索引的情况下执行的,这在 1M 行上非常慢。尝试以下操作:

  • 隐式使用正确的索引:SELECT * FROM tablea USE INDEX(PRIMARY) WHERE stat='0' order by id LIMIT 1

  • 创建一个复合索引,就像 Ollie Jones 上面说的那样。

关于mysql索引问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516430/

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