# 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 比較)