Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108794
  • 博文数量: 4
  • 博客积分: 1445
  • 博客等级: 上尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-28 22:26
文章存档

2012年(1)

2009年(1)

2008年(2)

我的朋友

分类: 数据库开发技术

2012-05-04 18:15:19

                                              ------timesten 使用手记
    最近要做一个很大的系统,约1亿条数据.出于速度方面的考量,想用更好的内存数据库试试.
    此前我一直用mysql的内存数据库,其它方面都很好,只是它不支持变长字段,每一个字段都使用事先定义好的定长字节,这点让人很不满意.即使你使用varchar来定义,一旦载入内存后,立即使用最大字节长度占用内存.数据量大了以后,内存的开销非常大,这是它令人不满意的地方,但速度还是可以的,比起使用MYISAM,查询的稳定性一直很好,而MYISAM的缺点是,可能会去读磁盘,这样,查询速度是不定的.
    然后改用timesten, 用了之后非常失望.缺点有三个,一是基本不允许新建ODBC连接,我使用它的


                                 图1 timesten ODBC连接管理

TT_tt1122_32, 来作为系统dsn,来作连接名.但新建的系统dsn,即使一模一样,也不允许连接; 二是支持内存实在太小了,一般超过400M,就不允许创建了,而我的数据量一般很大,400M根本不够用.这是个很tough的硬伤.三是,建表的字段名称不支持中文,这个伤也蛮大的.

                                   图2 字符集的调整.


               图3 使用的连接DSN

无论如何,如果有人想使用它的话,这里提供一些帮助,但我还是不认为这是个成熟的系统,并不推荐使用,因为真的,不能扩大内存量是个硬伤.下面是用PHP连接与使用它的代码,测试过,没问题.

点击(此处)折叠或打开

  1. $dsn='TT_tt1122_32'; //这是装完timesten就有的系统DSN.
  2. $conn = odbc_connect($dsn,'','');

  3. $sql="insert or select or update sql statement";

  4. $result = odbc_exec($conn,$sql);
  5. while($row=odbc_fetch_array($result)){
  6.     echo $row['bzmc']; //可将其中的字段一一取出,这里使用名称的办法,如有其它字段,也可使用此法取出.
  7. }
  8. odbc_close($conn);
最后提一下,自建的DSN其实也不是连接不上,只是用它的官方GUI工具--sqldeveloper连接不上.用其它第三方工具还是可以连接上的,例如advanced query tool ,这个工具,还是可以连接上的.
无论是timesten,还是sqldeveloper,都可以在它的官网上下载到, 我下的是timesten11.2.2(32bit),windows版 . sqldeveloper是个绿色版工具,不用安装,即可使用,(含JDK), 但功能么,我看还是比较弱的.附图一张,sql developer GUI工具.

                    图4 sql developer.
这些工具都可 以在oracle官网上下载到,而且好象是免费的,不花钱,也不需要license. .


阅读(1553) | 评论(0) | 转发(0) |
0

上一篇:比较

下一篇:没有了

给主人留下些什么吧!~~