我是一个索引列,以加快查询。在此之前,我只做过全文索引。我需要为此编写特殊的语法。我的问题是有一个特殊的语法来编写查询,或者我可以只是使用该列的where()方法?
我可以这样用吗?
Model::where('customer_id',2)->get()
索引将应用于该查询吗?
我想知道的第二件事是它会消耗更少的MySQL服务器CPU ?或者更多?因为我有100%的CPU消耗的问题,因为很多查询,索引可以帮助我吗?
第三件事是我需要在索引后再次导入数据吗?还是会自动在所有数据上实现?
你问了几个问题。
索引应用于数据库,帮助它更有效地进行查询。数据库真的很擅长他们所做的事情,并且会选择一个"执行计划"。这是最有道理的。这意味着它要么直接扫描你的表,要么如果你设置了一个更有效的索引,它就会使用它。
我可以这样使用吗?索引将应用于该查询吗?
创建索引后无需做任何特殊操作,数据库将自动在相关查询中使用它
我想知道的第二件事是它会消耗更少的MySQL服务器CPU ?或者更多?
根据我的经验,更少。您正在为数据库提供一种更有效地查询数据的方法,因此它需要花费更少的时间来计算您想要的内容。索引确实占用更多的存储。
第三件事是我需要在做索引后再次导入数据吗?还是会自动在所有数据上实现?
它是自动应用的,你不需要做任何特殊的操作。