aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql2/optimizer_hints_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Optimizer hints should be applied on Top level query as much as possibleRyuta Kamizono2019-04-041-0/+8
| | | | | I've experienced this issue in our app, some hints only works on Top level query (e.g. `MAX_EXECUTION_TIME`).
* Add test case to prevent possible SQL injectionRyuta Kamizono2019-03-181-0/+10
|
* Add test case for unscoping `:optimizer_hints`Ryuta Kamizono2019-03-181-0/+6
|
* Support Optimizer HintsRyuta Kamizono2019-03-161-0/+24
We as Arm Treasure Data are using Optimizer Hints with a monkey patch (https://gist.github.com/kamipo/4c8539f0ce4acf85075cf5a6b0d9712e), especially in order to use `MAX_EXECUTION_TIME` (refer #31129). Example: ```ruby class Job < ApplicationRecord default_scope { optimizer_hints("MAX_EXECUTION_TIME(50000) NO_INDEX_MERGE(jobs)") } end ``` Optimizer Hints is supported not only for MySQL but also for most databases (PostgreSQL on RDS, Oracle, SQL Server, etc), it is really helpful to turn heavy queries for large scale applications.