【问题标题】:Table specific queries vs one single generic query表特定查询与单个通用查询
【发布时间】:2016-03-11 06:14:33
【问题描述】:

我有一个包含各种表的数据库。我看到自己正在编写这种形式的各种功能:

def getAgeAndHealthFromUser()
def getIDPriceLifeFromProduct()
def getIDFromUser()
def getPriceFromProduct()
def setIDFromUser()
def setPriceFromProduct()

.. and so on.

基本上,我大部分时间都在选择/设置不同表格的多个列。我希望你能明白。

那是我tried the generic function approach 以不同的列名、表名作为输入并完成工作的时候。

我想知道这种方法是否有我可能遇到的任何潜在问题?这是明智的设计吗?

【问题讨论】:

  • 您考虑过使用ORM 工具吗?
  • 当我们讨论坏主意时,您是否考虑过通用数学函数,例如def getMathResult(operator, operand1, operand2) 还是写一个面向对象的框架来替换数组语法和运算符?
  • 做一次。然后你就会明白为什么你不应该再这样做了。

标签: mysql database design-patterns database-design


【解决方案1】:

它是可行的,但是您需要在这样的 API 中考虑以下内容:

对于 Set API - 每个表都有不同的列和不同的数据类型。

对于 Get API - 当您选择数据时,您选择列(您的结果集结构因每个查询案例而异),但是您的查询过滤器因用例而异。

您可以考虑使用某种通用 Json 接口或其他方式与 API 进行交互,但最终您可能会在性能方面为这种额外的通用 API 付费。

谢谢

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多