表结构:(共3个字段)
ID 自增int主键
UserID 用户ID,30字节长度
Content 文本内容,50字节长度,用于存放Email地址
数据总记录大概10万条。
当我在客户端输入一个新的Email时,如何检测是否有重复的?要求效率高!
是先查询是否有该记录?还是直接输入,用异常来判定?我没用过Access,如果是后者,怎样捕捉?不会是程序中用try catch吧?或是还有其它好的方法?
无论什么方法,要求效率高就好,代码麻烦不要紧,谢谢!!
13 个解决方案
#1
补充 在Content上建立了唯一索引
#2
设一个主键,用异常能快一点。就用try catch吧。
#3
10万条数据,可以自己写方法用SQL语句来查询判断,可能比较好点。
#4
我接分
#5
十万条记录,作了索引,使用SQL很快的。这是正常途径
#6
建立一个索引 在你添加的时候会自动提示你 纪录已经存在的
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
#7
关注
#8
access是个桌面数据库,查询速度比SQL2k快多了,10万条记录加个索引就可以了
#9
关注
#10
1 错误就在索引的字段上 不该使用Contenct字段 请查看数据库优化之书
改变:
ID 自增int主键
UserID 用户ID,30字节长度
EmailTitl 标题
EmailTime 时间
EmailStyle 收/发
Content 文本内容,50字节长度,用于存放Email地址
分别在 ID,UserID, Title,Time 建立索引 !!
改变:
ID 自增int主键
UserID 用户ID,30字节长度
EmailTitl 标题
EmailTime 时间
EmailStyle 收/发
Content 文本内容,50字节长度,用于存放Email地址
分别在 ID,UserID, Title,Time 建立索引 !!
#11
回复人: ttfwind(橙子) ( ) 信誉:100 2004-12-03 22:30:00 得分: 0
建立一个索引 在你添加的时候会自动提示你 纪录已经存在的
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
---------------------------------------------------------
同意
一定要给字段加索引,速度会比没有加时快N倍~~
建立一个索引 在你添加的时候会自动提示你 纪录已经存在的
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
---------------------------------------------------------
同意
一定要给字段加索引,速度会比没有加时快N倍~~
#12
数据库我是不大懂,可以先做下测试,如果速度够就算了,如果不够,我是这么想的。
库可以多分几个表,比如分27个,开头字符为a~z,各占一个表,其余不是字母开头的,占一个表,根据开头字符不同,在不同的表里查询。如果记录更多,比如1百万,1千万,用这个方法,也可以解决。
库可以多分几个表,比如分27个,开头字符为a~z,各占一个表,其余不是字母开头的,占一个表,根据开头字符不同,在不同的表里查询。如果记录更多,比如1百万,1千万,用这个方法,也可以解决。
#13
谢谢各位的帮助,不在content上建立索引好像不太好办,大部分查询都是针对该字段进行的。
maconel的方法我以前用过,效果是比较好,但10万记录好像没有多大必要呵呵
maconel的方法我以前用过,效果是比较好,但10万记录好像没有多大必要呵呵
#1
补充 在Content上建立了唯一索引
#2
设一个主键,用异常能快一点。就用try catch吧。
#3
10万条数据,可以自己写方法用SQL语句来查询判断,可能比较好点。
#4
我接分
#5
十万条记录,作了索引,使用SQL很快的。这是正常途径
#6
建立一个索引 在你添加的时候会自动提示你 纪录已经存在的
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
#7
关注
#8
access是个桌面数据库,查询速度比SQL2k快多了,10万条记录加个索引就可以了
#9
关注
#10
1 错误就在索引的字段上 不该使用Contenct字段 请查看数据库优化之书
改变:
ID 自增int主键
UserID 用户ID,30字节长度
EmailTitl 标题
EmailTime 时间
EmailStyle 收/发
Content 文本内容,50字节长度,用于存放Email地址
分别在 ID,UserID, Title,Time 建立索引 !!
改变:
ID 自增int主键
UserID 用户ID,30字节长度
EmailTitl 标题
EmailTime 时间
EmailStyle 收/发
Content 文本内容,50字节长度,用于存放Email地址
分别在 ID,UserID, Title,Time 建立索引 !!
#11
回复人: ttfwind(橙子) ( ) 信誉:100 2004-12-03 22:30:00 得分: 0
建立一个索引 在你添加的时候会自动提示你 纪录已经存在的
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
---------------------------------------------------------
同意
一定要给字段加索引,速度会比没有加时快N倍~~
建立一个索引 在你添加的时候会自动提示你 纪录已经存在的
如果用异常的话
你就try{你的插入语句 throw(你自己定义的错误类型)}
catch(错误)
{处理方法}
---------------------------------------------------------
同意
一定要给字段加索引,速度会比没有加时快N倍~~
#12
数据库我是不大懂,可以先做下测试,如果速度够就算了,如果不够,我是这么想的。
库可以多分几个表,比如分27个,开头字符为a~z,各占一个表,其余不是字母开头的,占一个表,根据开头字符不同,在不同的表里查询。如果记录更多,比如1百万,1千万,用这个方法,也可以解决。
库可以多分几个表,比如分27个,开头字符为a~z,各占一个表,其余不是字母开头的,占一个表,根据开头字符不同,在不同的表里查询。如果记录更多,比如1百万,1千万,用这个方法,也可以解决。
#13
谢谢各位的帮助,不在content上建立索引好像不太好办,大部分查询都是针对该字段进行的。
maconel的方法我以前用过,效果是比较好,但10万记录好像没有多大必要呵呵
maconel的方法我以前用过,效果是比较好,但10万记录好像没有多大必要呵呵