LaravelPackages.net
Acme Inc.
Toggle sidebar
vpominchuk/laravel-mysql-use-index-scope

A super simple package allowing for use MySQL `USE INDEX` and `FORCE INDEX` statements

592.954
41
v1.0.8
About vpominchuk/laravel-mysql-use-index-scope

vpominchuk/laravel-mysql-use-index-scope is a Laravel package for a super simple package allowing for use mysql `use index` and `force index` statements. It currently has 41 GitHub stars and 592.954 downloads on Packagist (latest version v1.0.8). Install it with composer require vpominchuk/laravel-mysql-use-index-scope. Discover more Laravel packages by vpominchuk or browse all Laravel packages to compare alternatives.

Last updated

Latest Version on Packagist Software License Total Downloads

Laravel MySQL Use Index Scope

A super simple package allowing for use MySQL USE INDEX and FORCE INDEX statements.

Requirements

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

Installation

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

Usage

Simply reference the required trait in your model:

Model:

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

Anywhere in the code:

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

Database table structure:

You need to create a named index with required name. For example:

Laravel Migration:

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

Available methods

useIndex($indexName)

Tells MySQL to use an index if it possible.

forceIndex($indexName)

Force MySQL to use an index if it possible.

ignoreIndex($indexName)

Ask MySQL to ignore an index if it possible.

Security

If you discover any security related issues, please use the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Star History Chart