1

我有一个连接表,我只想为连接后生成的表建立索引。我已经阅读了很多内容,因此我了解索引语法CREATE INDEX my_index我无法理解如何仅为连接表创建索引。我只是无法弄清楚语法

给定下表(注意这只是一个例子):

CREATE TABLE books(
    id INT,
    title VARCHAR(50),
    author_id INT
);

CREATE TABLE authors(
    id INT,
    name VARCHAR(50)
);

语法将如何为以下查询编制索引?出于该项目的目的,我可能不明智地保留书籍或作者的索引,因为这两个表都将被频繁更新和插入,并且我理解(如果错误,请纠正我)索引在频繁编辑时创建会减慢一切数据:

 SELECT * FROM authors, books WHERE books.author_id = authors.id AND books.title LIKE '%Great%';

感谢您的时间。

4

1 回答 1

1

在书籍上创建索引,例如

    CREATE TABLE books(


id INT,


title VARCHAR(50),

    author_id INT,
KEY idx_author_id ('author_id')
);

如果您的查询是否经过优化,请检查解释工具

例如。

EXPLAIN SELECT * FROM authors, books WHERE books.author_id = authors.id AND books.title LIKE '%Great%';
于 2012-10-12T16:24:19.303 回答