Skip to content

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

License

Notifications You must be signed in to change notification settings

b141568/laravel-use-index-scope

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Use Index Scope

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

Requirements

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

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) Not Supported by Spanner

Tells MySQL to use an index if it possible.

forceIndex($indexName)

Force MySQL or Spanner to use an index if it possible.

ignoreIndex($indexName) Not Supported by Spanner

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%