Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Join在MySql中应用索引_Mysql_Indexing - Fatal编程技术网

如何使用Join在MySql中应用索引

如何使用Join在MySql中应用索引,mysql,indexing,Mysql,Indexing,我对索引不是很熟悉。我在记录上应用索引,因为在表上查找结果要花很多时间。查询工作正常 SELECT words.wordid, synsets.synsetid, pos, definition FROM words, senses, synsets WHERE words.wordid = senses.wordid AND senses.synsetid = synsets.synsetid AND lemma='apple' | wordid | lemma

我对索引不是很熟悉。我在记录上应用索引,因为在表上查找结果要花很多时间。查询工作正常

SELECT words.wordid, synsets.synsetid, pos, definition
FROM words, senses, synsets
WHERE words.wordid = senses.wordid
AND senses.synsetid = synsets.synsetid
AND lemma='apple'


| wordid | lemma               |                       
+--------+--------------------+-
|  1     | Apply               |
|  2     | PRIMARY             |
|  3     | DEPENDENT           |
+----+--------------------+-----
其他表格


语法集第三表

感官表
sql查询工作正常,但现在我必须应用索引来获得比简单查询快得多的结果


如果您只运行这样的SELECT,我如何在这三个表上应用索引

SELECT words.wordid, synsets.synsetid, pos, definition
    FROM words, senses, synsets
    WHERE words.wordid = senses.wordid
    AND senses.synsetid = synsets.synsetid
    AND lemma='apple'
您需要这些索引(请参阅手册中的更多内容:):


如果要运行另一个select查询,则应添加更多索引以提高select性能:)

首先,让我们使用
JOIN..ON
语法:

SELECT  words.wordid, synsets.synsetid, pos, definition
    FROM  words
    JOIN  senses ON words.wordid = senses.wordid
    JOIN  synsets ON senses.synsetid = synsets.synsetid
    WHERE  words.lemma='apple' 
现在,我们可以看到,
WHERE
子句中唯一有用的东西是
words.lemma
。那么,让我们为
单词

INDEX(lemma)
一旦找到了苹果的
单词
,下一个表格就是
感官
。现在,该表需要:

INDEX(wordid)
最后,为了有效地进入
synset
,请

INDEX(synsetid)
根据列名,我猜
synsetid
已经是
主键了。请记住,
主键
是一个
唯一的
键,它是一个
索引
。因此,如果是PK,请不要添加我建议的
索引

INDEX(lemma)
INDEX(wordid)
INDEX(synsetid)