vpominchuk/laravel-mysql-use-index-scope

一个允许使用 MySQL `USE INDEX` 和 `FORCE INDEX` 语句的超级简单的包

v1.0.7 2024-03-13 15:46 UTC

This package is auto-updated.

Last update: 2024-09-13 16:49:56 UTC


README

Latest Version on Packagist Software License Total Downloads

Laravel MySQL Use Index Scope

一个允许使用 MySQL USE INDEXFORCE INDEX 语句的超级简单的包。

要求

  • PHP ^7.4 | ^8.0
  • Laravel 6, 7, 8, 9, 10, 和 11

安装

composer require vpominchuk/laravel-mysql-use-index-scope

使用方法

只需在模型中引用所需的特质

模型

    use VPominchuk\ModelUseIndex;
    
    class MyModel extends Model
    {
        use ModelUseIndex;
    }

代码中的任何位置

    $builder = MyModel::where('name', $name)->where('age', $age)->
        useIndex($indexName)->...

数据库表结构

您需要创建一个具有所需名称的命名索引。例如

Laravel 迁移

    $table->index(['name', 'age'], 'user_age_index');

可用方法

useIndex($indexName)

告诉 MySQL 如果可能,则使用索引。

forceIndex($indexName)

强制 MySQL 如果可能,则使用索引。

ignoreIndex($indexName)

请求 MySQL 如果可能,则忽略索引。

安全

如果您发现任何与安全相关的问题,请使用问题跟踪器。

致谢

许可

MIT 许可证 (MIT)。请参阅许可文件获取更多信息。