我现在为基于 MSSQL Server 的系统编写自动化程序,使用 Ruby 1.9.3 和 ActiveRecord 3.1.6,没有 Rails。
表具有非标准 id(stk_id
, urb_id
,而不是id
),有些表也没有主键。
在我添加列id
并将其设置为主键之前,我的程序运行非常缓慢。我等了将近 3 分钟,程序在 9000 条记录的表中进行了两次选择操作和一些小处理。但是当我添加列id
并将其设置为主键时,这些操作在不到 10 秒内完成。
我在删除操作中发现的另一个问题:如果没有表中的主键,它根本不起作用。尝试在没有主键的情况下删除时出错:
nil:NilClass 的未定义方法“to_sym”
我无法修改生产数据库的表结构。也许有人知道如何在不添加id
列和设置主键的情况下解决这个问题?