Read-Only Slaves/Writable Master and Database Sharding
http://sequel.jeremyevans.net/rdoc/files/doc/sharding_rdoc.html
Database Sharding
http://sequel.jeremyevans.net/rdoc/files/doc/sharding_rdoc.html#label-Sharding
dataset
- ほとんどの場合datasetを使う。
- raw sqlを利用する場合にはdatasetを使う
- この場合
DB[:t].with_sql (sql, *args)
を使う - fetchは使わない datasetのほうがいい
- この場合
unionが必要なクエリを作るexample
http://sequel.jeremyevans.net/rdoc/classes/Sequel/Dataset.html
# idが is nullのデータと
# idが一致するデータをunion allする
# .unionを利用
@timelines = SequelDB[:t].where(t_id: nil)
.union(SequelDB[:t].where(t_id: t_id), all: true) # union all
.extension(:pagination)
.paginate(page_no, page_size)
# .with_sqlを利用
@timelines = SequelDB[:t].with_sql(UNION_QUERY, :t_id => t_id)
.extension(:pagination)
.paginate(page_no, page_size)
pagination plugin
- 別でinstallが必要ない内蔵されているpagination plugin
http://sequel.jeremyevans.net/rdoc-plugins/files/lib/sequel/extensions/pagination_rb.html