Postgresql问题

疯人院主任 发布于 2012/05/19 09:59
阅读 268
收藏 0
我现在遇到这么一个问题,原来由于数据表字段类型建立不够严谨规范,所有数据类型都是varchar,可是现在由于性能问题将数据类型进行了变更,sql语句以前都对数据类型进行强类型转换 varchar -> numeric  , 请问如果我不去除数据类型的转换 是否会影响效率,还是数据库对相同数据类型转换开销不大,求解。

以下是问题补充:

@疯人院主任:求解 (2012/05/28 09:46)
加载中
0
kenyon_君羊
kenyon_君羊
以前做过一个简单的测试,100多W数据类型转换后的查询效率,开销并不是很大。个人觉得应该在业务和一个慢查询上入手看看。
0
玛雅牛
玛雅牛

由于pg不允许从varchar直接转换成numeric.

建议可以这样操作:

1)建议新建一张表,使用严禁的数据类型。

2)将原来表的数据通过 insert select 语句导入过来,当然还得用cast转换语句。

3)在新表的必要字段上建立索引。

数字类型的索引要比varchar快很多。

与其每次都做转换,不如一次都转换好。

个人愚见。



返回顶部
顶部