mysql 添加 key 不起作用

标签 mysql indexing

我有这个查询:

SELECT adressid, adressname FROM kino_adressen WHERE city ='Seattle'

我想创建一个这样的索引

ALTER TABLE <tablename> ADD KEY index_abc(adressid, adressname(40))

但是当我使用以下方法检查它时:

 EXPLAIN SELECT adressid, adressname FROM kino_adressen WHERE city ='Seattle'

上面写着

type = ALL
possible keys = NULL
key = NULL 
...rows = 106

任何人都可以提供一些如何正确执行此操作的建议吗?

//编辑: 还有一个我不明白的问题:

SELECT DISTINCT
titel,
regie,
darsteller,
filmbild,
kino_filme.filmid,
kino_filme.beschreibung,
fsk,
filmlaenge,
verleih,
sprachfassung
FROM
    kino_filme
LEFT JOIN kino_terminefilme ON (
    kino_terminefilme.filmid = kino_filme.filmid
)
LEFT JOIN kino_termine ON (
    kino_terminefilme.terminid = kino_termine.terminid
)
LEFT JOIN kino_kinos ON (
    kino_kinos.kinoid = kino_termine.kinoid
)
LEFT JOIN kino_adressen ON (
    kino_adressen.adressid = kino_kinos.adressid
)
WHERE
    kino_adressen.adressid = 32038

And the result is like:

为什么 kino_termine 不使用任何索引? 我在创建时将其设置为 PK,甚至随后添加了索引,但这些都没有帮助。

最佳答案

您在地址上添加了索引,但在where子句中使用了city。在城市上添加索引,然后将使用它。

关于mysql 添加 key 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17567295/

相关文章:

java - 后台 Chrome 浏览 session 问题

c# - 无法访问数据库,用户访问被拒绝

mysql - 具有多个 DISTINCT 的 SQL 语句

r - 如果索引值接近另一个 df 中的索引,有没有办法从 df 中提取数据?

arrays - 哪种模型更适合Elasticsearch索引编制?

python - 在 Python 中使用字符串作为切片索引? (类型错误: slice indices must be integers or None or have an __index__ method)

mysql - 用于获取最后一个日期项目的 SQL 查询

MySQL 服务无法在 XAMPP 上启动

Oracle 更改索引/重建

基于 Python tile 的 numpy 数组处理