How to index the status column that are published?
You index columns (status in your example) and then sql run faster queries. if after you want to work with an extract ie status='published' you can use scope
https://laravel.com/docs/8.x/eloquent#query-scopes
PS : you can also create a sql view to work on but it's not the "Laravel way".