由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 如何实现DB底层的功能?
相关主题
问个 mysqld-nt 的问题问个linux下database的问题。 (转载)
Problem running MySql under Solaris 8求助(急):MySQL不能启动!!
安装mysql遇见的问题。mysql索引/优化的一个问题
MySql Question能提供几个看似简单 实际不容易的关于数据库 SQL的问题么 (转载)
where is password file for mysql问个数据库问题
How to set mysql server to autostart as bootingMySQL数据库用户管理求助
MySQL起不来了。[转载] 关于网站数据库的一个问题
问个牛人才能解答的问题,关于mysql的内存建一个小的购物网站,数据库用什么比较合适?
相关话题的讨论汇总
话题: 数据库话题: index话题: tree话题: dbm话题: use
进入Database版参与讨论
1 (共1页)
n******e
发帖数: 50
1
我用MySQL, 感觉速度不够理想. 一共有两个table,
需要对其中一个作关于某长度为256的字符串字段
unique的添加, 直到几百万个记录. 数据库的好处是
可以帮我实现index, 但是为此不得不不停的跟mysqld
通信, insert into ..., 额外的开销实在太大了. 我
的程序的其他部分每秒中能产生30个单位输出, 包括将
30*10K的数据存到硬盘. 但是接上数据库以后, 每秒只
能存10个, 相当于几百次insert, 几十次select. 数据
库大了以后, 还会更慢. 我想能不能自己做个带索引的
记录文件呢? 有没有现成的可download的源码?
有经验的请指导.
xt
发帖数: 17532
2

你指望你写的东西比数据库里面现成的好?come on....
你可以考虑其它优化方法呀,比如对数据库本身的tuning.

【在 n******e 的大作中提到】
: 我用MySQL, 感觉速度不够理想. 一共有两个table,
: 需要对其中一个作关于某长度为256的字符串字段
: unique的添加, 直到几百万个记录. 数据库的好处是
: 可以帮我实现index, 但是为此不得不不停的跟mysqld
: 通信, insert into ..., 额外的开销实在太大了. 我
: 的程序的其他部分每秒中能产生30个单位输出, 包括将
: 30*10K的数据存到硬盘. 但是接上数据库以后, 每秒只
: 能存10个, 相当于几百次insert, 几十次select. 数据
: 库大了以后, 还会更慢. 我想能不能自己做个带索引的
: 记录文件呢? 有没有现成的可download的源码?

n******e
发帖数: 50
3
不指望. 但是数据库太笨重. 每个query都必须用sql语句
提交, 是不是太浪费时间了? 而且涉及跟sqld的通信,
....
s*k
发帖数: 144
4

Read classical book of Stevens, you can find
a chapter on dbm programming(or man dbm).
You can use sequential index on nearly
every unix platform.
If you use newer version linux, you also can
use B tree.
Good luck! :-)

【在 n******e 的大作中提到】
: 我用MySQL, 感觉速度不够理想. 一共有两个table,
: 需要对其中一个作关于某长度为256的字符串字段
: unique的添加, 直到几百万个记录. 数据库的好处是
: 可以帮我实现index, 但是为此不得不不停的跟mysqld
: 通信, insert into ..., 额外的开销实在太大了. 我
: 的程序的其他部分每秒中能产生30个单位输出, 包括将
: 30*10K的数据存到硬盘. 但是接上数据库以后, 每秒只
: 能存10个, 相当于几百次insert, 几十次select. 数据
: 库大了以后, 还会更慢. 我想能不能自己做个带索引的
: 记录文件呢? 有没有现成的可download的源码?

n******e
发帖数: 50
5
stevens那个我知道. 但是他只能做demo.
他使用的是hashtalbe. 做不了大的.

【在 s*k 的大作中提到】
:
: Read classical book of Stevens, you can find
: a chapter on dbm programming(or man dbm).
: You can use sequential index on nearly
: every unix platform.
: If you use newer version linux, you also can
: use B tree.
: Good luck! :-)

xt
发帖数: 17532
6

现在的数据库索引主要有两种,一种是hashing, 一种是
B+ tree. hasing 比B+ tree稍微快点,但是出来的结果
没有排序,B+ tree出来的结果是排序的,因此我觉得可
能用得多点。这就是为什么index有clustered和unclustered
之分。大概还有的数据库允许user来规定index的数据结构,
这样的话,我认为对clustered index,最好用B+ tree;
对使用order by多的unclustered index,用B+,否则可以
选择Hash table.
Space本身不是问题。

【在 n******e 的大作中提到】
: stevens那个我知道. 但是他只能做demo.
: 他使用的是hashtalbe. 做不了大的.

1 (共1页)
进入Database版参与讨论
相关主题
建一个小的购物网站,数据库用什么比较合适?where is password file for mysql
zz: Oracle推出免费数据库产品How to set mysql server to autostart as booting
大批量文本的存储与查询,用什么数据库比较合适?MySQL起不来了。
MySQL 5.0 cluster question问个牛人才能解答的问题,关于mysql的内存
问个 mysqld-nt 的问题问个linux下database的问题。 (转载)
Problem running MySql under Solaris 8求助(急):MySQL不能启动!!
安装mysql遇见的问题。mysql索引/优化的一个问题
MySql Question能提供几个看似简单 实际不容易的关于数据库 SQL的问题么 (转载)
相关话题的讨论汇总
话题: 数据库话题: index话题: tree话题: dbm话题: use