Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

这是AI翻译的帖子。

제이의 블로그

物理資料模型

  • 写作语言: 韓国語
  • 基准国家: 所有国家 country-flag

选择语言

  • 汉语
  • English
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

durumis AI 总结的文章

  • 邏輯資料模型是將關係型資料庫設計成適合的表格,而物理資料模型則是在此基礎上,建立實際使用的表格,同時考慮儲存空間效率和效能最佳化。
  • 可以使用慢查詢、索引、快取等方法來提升效能,如果效能問題持續存在,可以考慮改變資料庫結構,進行反正規化。
  • 正規化是為了方便寫入操作而犧牲讀取效能,而反正規化可能會導致效能下降,因此需要準確地分析問題,並謹慎地做出決定。

如果逻辑数据建模是为关系型数据库创建理想表的任务,那么物理数据建模则包括将理想表转换为实际使用表,重点考虑存储空间的有效使用计划、对象分区设计、最佳索引设计等性能提升和优化。

在服务运行时,查找导致瓶颈的慢速查询的方法因DBMS的类型而异,慢速查询需要以关键词搜索。

为了性能需要考虑的事项

慢速查询(Slow Query)查找

  • 慢速查询是指DBMS在执行请求的查询时,查询在一定时间内无法执行完成的查询。
  • 找到导致瓶颈的慢速查询,分析问题并解决。

索引(Index)

  • 索引可以极大地提高对行的读取性能。
  • 但会降低写入性能,并占用更多存储空间。


缓存(Cache)

  • 在应用程序级别上减少数据库负载的一种方法
  • 将相同输入的请求响应存储在存储空间中,并使用它进行响应。


如果以上方法不能解决性能问题,则进行称为反规范化或半规范化的操作。

这是对表的结构进行手术修复。

规范化的权衡

规范化就像为了写入操作的便利性而放弃读取性能。进行规范化后,需要编写查询来连接拆分到多个表的數據。

但是规范化并不一定降低性能,因此在进行反规范化之前,必须正确识别和审查问题。

以下链接介绍了将要讨论的反规范化主题的优秀文章。

反规范化、半规范化 (denormalization)

首先要记住的是,在进行规范化之后,应该进行反规范化。从一开始使用非规范化表并不是件好事。

目前这不是必需的知识,所以只记住它就可以了。

表反规范化技术

來源 - DataOnAir - 反正規化與效能

列的反规范化

來源 DataOnAir - 反正規化與效能

关系的反规范化

來源 - DataOnAir - 反正規化與效能

Jay
제이의 블로그
1인분이 목표인 초보 개발자
Jay
邏輯數據模型 邏輯數據模型是將概念數據模型轉換為關係數據庫範式的過程,根據映射規則,將 1:1、1:N、N:M 關係 轉換為關係數據庫中的表格,並通過正規化來確保數據完整性。通過 1NF、2NF、3NF 的正規化過程,對表格進行 優化,消除部分依賴和傳遞依賴。

2024年4月9日

看板項目專案 2 邏輯數據模型 基於概念性數據模型 ERD,逐步說明進行邏輯數據模型的方法,並提出正規化過程中遇到的困難和解決 方案。特別是針對 Ticket 表格中的 author_id 和 responsibility_id 是否需要分開,以及解決 過程進行了詳細說明。

2024年4月9日

看板板項目1 概念性數據模型 將WANTED 後端實習的看板板項目,作為關係型數據模型練習目的,重新實作並進行概念性數據模型。 經過實體分離、識別碼定義、關係識別等過程,比之前更順利地完成了模型。

2024年4月9日

[DB] 設定快取的標準 這是一份關於如何快取經常被讀取但很少被寫入的數據的實務指南。它將說明如何利用 APM(例如 DataDog)分析 RDB 查詢呼叫記錄,並選擇查詢次數多但更新次數少的表格作為快取目標。
제이온
제이온
제이온
제이온
제이온

2024年4月25日

[Javascript] 物件的結構 (V8) JavaScript 的 Object 在 V8 引擎中根據狀態可以被優化為類似結構體的 Fast 模式或以雜湊表運作的 Dictionary 模式。Fast 模式是針對幾乎固定形式的鍵和值進行優化,速度很快,但當新增新鍵或刪除元素等操作時, 會轉換為 Dictionary 模式,速度會變慢。
곽경직
곽경직
곽경직
곽경직
곽경직

2024年3月18日

[Effective Java] 項目 6. 避免不必要的物件建立 這是一份關於在 Java 中減少不必要物件建立的指南。對於 String、Boolean 等不變物件,最好使用字面值;對於正規表示式,最好快取 Pattern 物件。此外,自動裝箱會導致效能下降,因此最好使用基本類型。有關更多資訊,請參閱「Effective Java」。
제이온
제이온
제이온
제이온

2024年4月28日

[Java] Synchronized Collection vs Concurrent Collection 在 Java 中,当在多线程环境中使用集合时,本文比较分析了各种解决同步问题的方法及其优缺点。 分析了 Vector、Hashtable、Collections.synchronizedXXX 等同步集合和 CopyOnWriteArrayList、 ConcurrentHashMap、ConcurrentLinkedQueue 等并发集合的特点和性能差异,以及各自的最佳使用场景。
제이온
제이온
제이온
제이온

2024年4月25日

[非计算机专业,如何成为一名开发者] 14. 新手开发者常问的技术面试内容总结 本指南旨在为新手开发者提供技术面试准备指导。涵盖了面试中常见的概念,例如主内存区域、数据结构、关系型数据库 (RDBMS) 和 NoSQL、过程式编程和面向对象编程、重写和重载、页面替换算法、进程和线程、OSI 七层模型、TCP 和 UDP 等。
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

2024年4月3日

[Effective Java] 项目 5. 不要显式地使用资源,而应该使用依赖注入 如果类依赖于外部资源,则最好不要使用单例和静态实用程序类。通过依赖注入,可以提高类的灵活性、可重用性和可测试性,而使用工厂方法模式可以使依赖注入更加高效。
제이온
제이온
제이온
제이온

2024年4月28日