在多列上运行的mysql函数

时间:2013-10-11 21:03:09

标签: mysql database

是否可以在mysql中创建一个自定义函数,如SUM,MAX等等..它接受多列并对每一行进行一些操作?

我问这个问题的原因是因为我试图使用存储过程来做我的逻辑,但不幸的是找不到如何从表名中选择数据的方法,其中表的名称是输入参数。

有人建议使用动态sql但我无法获取光标。所以我唯一的希望是使用自定义函数。

提前10倍。

P.S。

为了使问题更清楚,这就是我想要做的事情:

我想计算一条路线的距离,数据库表中的每一行代表坐标(纬度和经度)。不幸的是,我的数据非常大,如果我查询数据并使用java进行计算,将数据传输到Web服务器需要半分钟以上,所以我想在sql机器上进行计算。

1 个答案:

答案 0 :(得分:0)

  

从table_name中选择something1,something2,其中表名是变量

多个结构相同的表(此类查询的先决条件)与Principle of Orthogonal Design相反。

不要这样做。至少并非没有非常良好的理由 - 使用合适的索引,(数十)每个表数百万条记录对于MySQL来说很容易处理而不需要分区;即使一个 需要对数据进行分区,也有better ways比这个手动kludge(这可能会导致模糊,可能不一致的数据,并导致数据操作的冗余和复杂性码)。