我有一张有6200万张记录的桌子。
Table structure: 52 columns
Storage engine: InnoDB
Collation: utf8_general_ci
SELECT - Maximum number of operations performed
INSERT - Always in bulk but it doesn't happen always.
UPDATE - Very less number of operations but sometime much and sometime not at all
因为我们几乎总是实时的
我使用google big table的用例是,我必须在连接到服务器的所有设备上进行实时跟踪(根上从A点到B点的实时总线,并跟踪它们)。每隔5秒,每个设备都会发出一些数据,我必须将所有数据存储在google Big表中,并从google big表中获取数据,以便每5秒显示一次实时流量。这是google big table的一个很好的用例吗?
我使用的是Sybase ASE 15.5和JDBC驱动程序jconnect 4,在一个包含4亿行(整数、varchar(128)、varchar(255))、列上主键和聚集索引(1,2)和列上非聚集索引(2,1)的大型表上,我正在使用带+/-40行的可执行批处理()的缓慢插入。每批+/-40行需要+/-200 of。慢度与桌子的大小有关吗?我知道删除索引可以提高性能,但不幸的是,这不是一种选择。如何提高插入速度?
注意:这是应用程序实时运行的一部分,这不是一次性迁移,所以我不会使用bcp工具。
编辑:我已经为mysql检查了这个答案,但不确定它是否适用于Sybase ASE 。