sql數據表的設計思路

来源:https://www.cnblogs.com/adstat/archive/2018/11/11/9941270.html
-Advertisement-
Play Games

好的表結構分的比較細緻,個人理解大概主要分為主表、明細、歷史記錄表、中間表,輔助表結構應該分為:類型表、狀態表、統計表、統計明細表等。為了一個功能加那麼多表實在是多餘,如果寫一個非常複雜的業務邏輯還是很有必要的,因為要做到物帳聯動。這可能不是一個明智的選擇,還有一種方案是儘可能的壓縮表結構,少分一些 ...


好的表結構分的比較細緻,個人理解大概主要分為主表、明細、歷史記錄表、中間表,輔助表結構應該分為:類型表、狀態表、統計表、統計明細表等。為了一個功能加那麼多表實在是多餘,如果寫一個非常複雜的業務邏輯還是很有必要的,因為要做到物帳聯動。這可能不是一個明智的選擇,還有一種方案是儘可能的壓縮表結構,少分一些表結構出來這樣可能有利於sql優化,伺服器的負擔更輕一些。如果一條sql連了二十幾張表,三分之一是主表,其它是次表。那麼它和三分之一的主表+多添加的欄位進行比較,哪個跑的更快,會是一件很有趣的事情,第二種很可能跑的快但它不利於重用性、習慣性的分層更加有利於閱讀。也可能它跑的並沒有想像中的那麼快,因為相對於第一種它增了次表的負擔,在百萬數據量面前條件越多速度越快,科學的講速度還受表結構欄位的長度的影響。當然第二種只是推測,因為在相等條件下,沒有做過測試。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Linux學習第一天 1.使用VM安裝RHEL7.0 具體參見劉遄老師的《Linux就該怎麼學》https://www.linuxprobe.com/chapter 01.html 2.RPM(紅帽軟體包管理器) RPM通過將安裝規則與源代碼打包在一起,來降低軟體的安裝難度。 RPM = 源代碼 + ...
  • 1. 負荷權重 1.1 負荷權重結構struct load_weight 負荷權重用struct load_weight數據結構來表示, 保存著進程權重值weight。其定義在 "/include/linux/sched.h, v=4.6, L1195" , 如下所示 1.2 調度實體的負荷權重lo ...
  • 我使用的xampp 1、修改C:\Windows\System32\drivers\etc中的hosts文件,添加127.0.0.1 www.feiquan.com 2、修改D:\xampp\apache\conf\extra中的httpd-vhosts.conf,添加 3. 配置D:\xampp\ ...
  • 文章的格式也許不是很好看,也沒有什麼合理的順序 完全是想到什麼寫一些什麼,但各個方面都涵蓋到了 能耐下心看的朋友歡迎一起學習,大牛和杠精們請繞道 Arachni不同於上次介紹的nikto和skipfish 是一個Web界面的一個Web掃描器 Arachni的強大不必多說: 國際知名黑客組織匿名者,在 ...
  • 集群結構 特點: 1 所有redis節點(包括主和從)彼此互聯(兩兩通信),底層使用內部的二進位傳輸協議,優化傳輸速度;(所有功能特點的基礎) 2 集群中也有主從,也有高可用的邏輯,但是沒有哨兵進程,整合到主節點的功能里了;集群中的事件被主節點(大部分主節點);通過主節點的過半選舉實現哨兵以前的邏輯 ...
  • 我們經常在linux要查找某個文件,但不知道放在哪裡了,可以使用下麵的一些命令來搜索: which 查看可執行文件的位置。 whereis 查看文件的位置。 locate 配合資料庫查看文件位置。 find 實際搜尋硬碟查詢文件名稱。 which命令的作用是,在PATH變數指定的路徑中,搜索某個系統 ...
  • 第一部分 ES安裝環境的準備和初始化 現在交心的版本Elasticsearch 5.6.3 官方建議安裝Oracle的JDK8,安裝前先檢查機器是否已安裝JDK。 Step 1 檢查環境機器是否已安裝JDK rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]' 如果 ...
  • SQL Server 資料庫中表一旦創建,我們不建議擅自調整列的順序,特別是對應的應用系統已經上線,因為部分開發人員,不一定在代碼中指明瞭列名。表是否可以調整列的順序,其實可以自主設置,我們建議在安裝後設置為禁止。 那麼,如果確實需要調整某一列的順序,我們是怎麼操作的呢? 下麵,我們就要演示一下怎麼 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...