# DB - 面試考題
OLTP VS OLAP (Design pattern)
https://kknews.cc/zh-tw/code/x8nvgkq.html
Why do foreigner are not suggested?
https://island.postgresql.tw/2018/03/03/9-reasons-why-there-are-no-foreign-keys-in-your-database-referential-integrity-checks.html
Postgresql Benchmark Tool?
https://www.crunchydata.com/blog/postgresql-13-benchmark-memory-speed-vs.-tps
Postgresql Optimization
http://liuyangming.tech/12-2018/Tuning_Of_PG.html
1. 說明幾種DB Lock的模式、發生的時機,跟處理方式。
2. 提出幾種最佳化搜尋的方式。
3. 試著說明Index的概念。
4. 正規化、反正規化的使用時機。
5. 試想如何協助AP層提高併發量。
1. partition 探討 (1 小時研究)(2小時文章)
2. pg_stat_statements
3. trigger 影響速度(check, if else, trigger 2層以上)
4. tuple分配 (1 小時研究)(3小時文章)
5. db lock 各種情境!?
- ON CONFLICT DO NOTHING
- row lock
- table lock-
6. master slave
6-1. master slave衝突的復原
7. pgagent schedule
8. tree的分類效能
9. pg_activity
10. pg_cancel_backend、pg_terminate_backend、各種lock 砍process 的影響
11. 跨DB使用fdw
12. throughout put 分析
13. view 探討
14. Mview探討
15. connection pool探討(微服務、begin commit rollback)
16. pg_dump
17. explain, explain analyze的實戰
18. vacuum 的研究
19. 時間統一的作法(多時區的延伸)
20. function query在pg_stat_statements看的到嗎? 如何定義transaction
21. order,limit, offset query效能影響
22. 效能調整組合技(pg_user, pg_activity, pg_stat_statements, pg_lock ?)
23. foriegn key是好的嗎? 效能影響
24. in, not in, select (n*id), having, exists, case then, like, =any
25. 設計原則(參考)
26. WAL 文件的調整 效能影響
27. 效能調整的(https://www.readfog.com/a/1646533655193030656 )
28. aggregation 相關函數(效能)
29. DB 升級的研究(直接升級、備份+匯入)
30. JSON, JSONB 效能、text、
31. pg_repack(vacuum full 比較)