How to add timeouts to slow queries

Sometimes some of your queries are taking too long to execute; you can specify optimizer hints and define timeouts for those queries.

```ruby
Employee.optimizer_hints("MAX_EXECUTION_TIME(5000)").all
```

It will raise a `StatementTimeout` exception if the query takes longer than usual to execute

Example (for PostgreSQL with pg_hint_plan):

```ruby
Employee.optimizer_hints("SeqScan(employees)", "Parallel(employees 8)")
```

Example (for MySQL):

```ruby
Employee.optimizer_hints("MAX_EXECUTION_TIME(50000)", "NO_INDEX_MERGE(employees)")
```

There are many causes for sudden slow queries in many databases, such as missing index, wrong catching, and performance.

But this is a topic for another day!

Victor Velazquez
February 11, 2021
