> For the complete documentation index, see [llms.txt](https://huang-jason.gitbook.io/ruby-rails-syntax/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://huang-jason.gitbook.io/ruby-rails-syntax/oneline.md).

# ONE\_LINE

## jsonb

<https://nandovieira.com/using-postgresql-and-jsonb-with-ruby-on-rails>

jsonb = \[1]avoids reparsing, \[2]supports indexing, \[3] no key ordering

hstore = \[1]not allow a nested structure, \[2]store as strings, require type coercion

jsonb is better than hstore

## PSQL search

index = \[1]use b tree, \[2]avoid sequential scan

GIN (Generalized Inverted Index) = \[1]use for array or hash, \[2] build `value -> where`

## `Delete` & `destroy` for association

1. delete 沒有 `dependent: :destroy`只清空`*_id`
2. delete 有 `dependent: :destroy`皆刪除record
3. destroy 不論有無`dependent: :destroy`皆刪除record

```ruby
destroy(*id)
destroy_all()
```
