Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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
Php 对于我的内部join sql语句,mysql必须索引什么结构?_Php_Mysql_Sql_Inner Join - Fatal编程技术网

Php 对于我的内部join sql语句,mysql必须索引什么结构?

Php 对于我的内部join sql语句,mysql必须索引什么结构?,php,mysql,sql,inner-join,Php,Mysql,Sql,Inner Join,我的firma表和这份声明有近100万条记录 SELECT firma.adi,firma.tel, firma.cep, firma.adres, firma.etiket, sehir.ad, ilce.ilce_adi, ustkat.ust_adi FROM firma inner join sektor on sektor.s_fid=firma.id inner join ustkat on ustkat.ust_id=sek

我的firma表和这份声明有近100万条记录

SELECT    firma.adi,firma.tel, firma.cep, firma.adres,
          firma.etiket, sehir.ad, ilce.ilce_adi, ustkat.ust_adi 
FROM      firma 
inner     join sektor on sektor.s_fid=firma.id 
inner     join ustkat on ustkat.ust_id=sektor.s_ustid 
inner     join sehir on sehir.id=firma.sehir 
inner     join ilce on ilce.ilceid=firma.ilce 
WHERE     firma.uyeliktur<4 and firma.onay=1 and
          firma.zoom>0 and firma.koordinat>0 
GROUP BY  firma.id 
ORDER BY  firma.uyeliktur desc, firma.bastarih desc 

如何使用mysql索引进行此操作。

您可能需要一个包含where子句中所有列的索引。由于等式条件,第一个应该是onay。第二个条件应该是最严格的条件。其中一项:

firma(onay, uyeliktur, zoom, koordinat)
firma(onay, zoom, uyeliktur, koordinat)
firma(onay, koordinat, uyeliktur, zoom)
只有前两列直接用于查找where的行。另外两个是一个轻微的效率,所以在哪里有值


顺便说一句,如果这些实际上是标志,那么最好说zoom=1而不是zoom>0。

谢谢,索引后我如何在sql语句中使用它。@Bagova。SQL引擎会自动选择适当的索引。你可以给它一个提示,如果你想,但这不应该是必要的。